From nobody Sun Feb 8 06:56:19 2026 Received: from CHN02-BJS-obe.outbound.protection.partner.outlook.cn (mail-bjschn02on2131.outbound.protection.partner.outlook.cn [139.219.17.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A1FA4A03; Thu, 14 Mar 2024 06:47:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=139.219.17.131 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710398836; cv=fail; b=hIDnN9X+NATHWjWZBSPf1K4G0e8udLi6Y8r3/8HSbFwYolt5Fgv50qZNDfxbDGDBLMDDDnayiq0ikJax69wZdIGnlGw7wpXcA60UKSb5aK/tagoRxJGn2dkEmXN+maoUCfuYAlWZA+aTxhGg+hNPMltVJ3mxqkkLN/BOzXEG9jQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710398836; c=relaxed/simple; bh=ArMNK9LJj6hUHI1Rx7dTbP8QTUsJTc14t1HVwzzmCno=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Mzg/brPO2JroAoR6qsl/wmY/ocH515YFdO+zc1Ao9jY3aN/LLUMPFhaH/yatDk1dk7CiwI6o9Ermx//zfl8mYtQ2oYGBF2jm6glXB4VgXfTqLV2CYt+Qp/72Py6MqqZdWVZkjlf+s/4xSMpCCvGnQE5pX+h7wF++Fe0nHYayudQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com; spf=pass smtp.mailfrom=starfivetech.com; arc=fail smtp.client-ip=139.219.17.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XUb0T2S7Z2lhqEI/HiWVx67UQOoqIKGwQKn+jNdCM7FZQRpWBE0Jp82xdsxa0BQGPFWtzZJC4cJ5saiahDgW7LyvH/goq8/DGCks3pSqklVqEI/sYdv7Zhu6oE4AFmdssw8PzIW9JbLvh9AUatlEX3FccYO6vAOIU18F6tqE/PVkb99dxWkC3F29Lef+HgK15bkT+gzmgSV3cvRhCenomt1+RzmrjjBKdnxFs5xX9d3JpXGi6hw9TlZVqqtflZxftJL71TUl7NIu3YQYrNaUf7qqMuxmIB0egtQB0JWiKgkrq334IMSvHW//3K4v+3xRQPDBUOCnk2VFkWeoYrNerQ== 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=pQEM8FOLWcxfYvVmh/eQrm0TxFeLdfJgmFUVG6eh+20=; b=kfEwGQsHYFE/xMNPhquq42QIVgW6/iXbcvh6UqHsDX2ArHvR3963ILpfN8QdiPHHwIjDxvEPZL/MtoQhMSDlA30v0vaOZ8yhcKxd9BAKRGc3//yq9IgCO1ulwJVX/TatQaguJahYkTibUwRf2DIO79WxtI+JGRzRQpb7niXuh0npjXRKtFwiXngj0cHa0FNDRuG2TUxLmHxcgRijEKfbfyRi6zcwbPzsyYIz0+txuI8bieu7DPzxqmb8YC3nc/y9m8IUuHnxfiOPQpBY+kiWs4POJ60u6hZDghHjwO9gjDgt4+HlrP7+m2yqbItjs8x/E/cA0CKqdPUW2qDzaqOEug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=starfivetech.com; dmarc=pass action=none header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=starfivetech.com; Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) by BJXPR01MB0711.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Thu, 14 Mar 2024 06:12:26 +0000 Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207]) by BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 06:12:26 +0000 From: Joshua Yeong To: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, geert+renesas@glider.be, joshua.yeong@starfivetech.com, prabhakar.mahadev-lad.rj@bp.renesas.com, conor.dooley@microchip.com, alexghiti@rivosinc.com, evan@rivosinc.com, ajones@ventanamicro.com, heiko@sntech.de, guoren@kernel.org, uwu@icenowy.me, jszhang@kernel.org, conor@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, leyfoon.tan@starfivetech.com, jeeheng.sia@starfivetech.com Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH 1/4] riscv: asm: vendorid_list: Add StarFive Technology to vendors list Date: Thu, 14 Mar 2024 14:12:02 +0800 Message-Id: <20240314061205.26143-2-joshua.yeong@starfivetech.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240314061205.26143-1-joshua.yeong@starfivetech.com> References: <20240314061205.26143-1-joshua.yeong@starfivetech.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: NT0PR01CA0015.CHNPR01.prod.partner.outlook.cn (2406:e500:c510::9) To BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BJXPR01MB0838:EE_|BJXPR01MB0711:EE_ X-MS-Office365-Filtering-Correlation-Id: 86e21904-5731-4c34-d9fd-08dc43edb85b X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Uba59SvBHfYFhK0kZLdA2hJTtYNNpvMVKaRI2YwT2jQsV9liaMrbhliEUqKIAXzmyLvrd2FEaI3YYqR5KXINyDevVDUW3JT+0t5s4CNwK9oLAZvdumXjxub32Mg96LbVuNMWsLDVyzqPZw/RTDCqnuvA033SP97WXrSMXD6TarzNMfrkkynl6PhXWcb8F/Q2uZzkpalDygC9BgSEqcYDHfUD99Fy98Z3jR5b7FYgK7LAVSqA+pgbmrQ4Mx8g2T7LIurmbKFBlvxszjRrBFG+LrmTJdNqRpFH8BCTlaGaaY7Go2hfG55zasxuV+j6kdAGLodPAjGpAzXW6QmgteDM6/9khLQgZqQCIxaCG4O2gL0vUtxL0AtMCZOuOPkMEMsNGupJwBTEs4UlhCbEr7YvOONUqu3SGvO/fY+EEPd2cVTY7LJbywkbsfCVQe9eD2lfZGg8vrUMYupe8foL97fpYS1FTtZgCkrJpp1rRXi8NA/xJO7AlBATXT9m86OVZ9qqw4LErZY9yUnPbhU/WDTMmlTW2PSm2TZfbzzRDcW+Dd2mc9DIVVKauGgE7m/A9kJjB3czwZ+qnyYKjY8LVe/WMRLRF59jlSDguPb9WRyyZPPNR3RqfJm5nBRjJyKpoPqw5eFqiDgDcQ/vcYPEK2nC3Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230031)(7416005)(41320700004)(1800799015)(52116005)(921011)(38350700005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PoW/LxYq1q0Bp/JHxht4S3R4Uqyd3mxVdxLbxwCwYihkoeR4jIoJuJk+6RDS?= =?us-ascii?Q?8WmZ9Zy2DgaIBaY12BiKNYoL8I4+V6Tq3uW2r6AmOhHKtLZJC9ZfwCUnxgev?= =?us-ascii?Q?47Uv1h9u/PKmLMMRt4xrS0/gDlnYI4+OE07ttAVxdXvWuJ5jaqIP3M+SZvcz?= =?us-ascii?Q?CbLW5C/DRoUSD2XeXaQKCmRU4X7ABUBv7Jfn0l0+eti9NMoHV+AnpO+jAogC?= =?us-ascii?Q?z74h9AlJ1BSRFX8TWbTOqie9TRzxDDhPcU0PFMohnh/zZAHbTxH5Z4TclUJR?= =?us-ascii?Q?Kcleol2O+eVtfAivtcrqEZ+ImTohYoUo4hQDO7sBAQ4ZPV9RxHt1p1yJzQFK?= =?us-ascii?Q?mQ101CZZuu3nZwUPbfN6COpUIIWPXPJd+wnHyhdR3DLmHCVDWJr8vBhRG2Uh?= =?us-ascii?Q?35dMC2OqYh+tp2YLilUXmtn4uNSl5hG5zaniON+LPd4RRLkkOziaCzZtPtze?= =?us-ascii?Q?mMGlRcbirI2IbVfUvyoGm5zlvEOPJ6czv9Sm1cxSp2brpRG417tyQUg3rGlq?= =?us-ascii?Q?7CoWdmohOcTEFfVbhsz0RCk0K0E1zvgGkFzrlOpjo5elp2ymoPHH66UJQ4dR?= =?us-ascii?Q?ZtLAOXEEJOChm+S7Bj38vDsRYM8p8bVhqziujVa26kWqMU3enOTC5rlTUi0q?= =?us-ascii?Q?ZpqEEmaqq5FlJ13M6sIeeSCBmDa13e/JneNTANO+63UQZhAnmjfR9SD1Wj1F?= =?us-ascii?Q?Gv+jHKmrtllqZizXFih/dhUU3GdD+lIPCdYPWeEXFOUAfvD5s4QOV7cLeV9B?= =?us-ascii?Q?oa1h6sZhThIiN4fwJ8QDdF846RTgZX6bplUcVybx1YAJxUw2thSdwXRL7++W?= =?us-ascii?Q?ZSkPtJdM9dSz+ZhoXy+1UE/1P0A2reAK5LrFvbiSOu6mq3UEbtCGrSjg7Fhk?= =?us-ascii?Q?7rHZJbkVPq/tkj0f1MFsUcdYGZPov3Mgdyl3VB4fS5OVdL1r/L6MtXg64XLU?= =?us-ascii?Q?3ehC8w+v/ge50l+vAJEEMJSL/DKlXB8UmHbPzkfmUd/Dyej/jN5wxKaNHrhT?= =?us-ascii?Q?CEkVJrHFiG5tJHoY8cXK8TZdr5S0JELjAdXZvGw+Xkxw/MsDmQ34CyCrTu/f?= =?us-ascii?Q?ofnpX10XudIcjRgYVJdH+0/LgCSSph4AaxSNgm2WGbtsNB4Pjb8aV8lSW5t8?= =?us-ascii?Q?hxnh8dv6Ud9PJXB9ltK9DPqIZp7c5NqZB/gjkP6BLXMpICStwrHL4wk3rnWn?= =?us-ascii?Q?QbrOO4Ng/N08NGv1eMIOupyovzCH0HSLDGOybbKWJncTPO/zmR4EQV8v0m/c?= =?us-ascii?Q?uDFtuY3vTL5qP6o3szJMgR4k7YNTX6j0BBoFNcr+JFPDBdlCp6dKrV938HAW?= =?us-ascii?Q?fbqlUk3z6BPpKzJ2zOk9hHsWvucWMafGXDAB3dlZ6kV4ai4xioxAbdImts0+?= =?us-ascii?Q?M5L7M8wNG6d7TyjNYhoDiuOEvDDLlJOKne+bmjgRWfc/PeeG9nAyEjmSFBXs?= =?us-ascii?Q?OtUAn58EpF1dp2SgVr3zFBFOXU8rsRMrrkQomrWzJyNeqMGf9Ynij8iavB7A?= =?us-ascii?Q?ik0twDWnkooUdRFxcg6iwS8ppJeBgx44ZiCR/+HRgR34brF+84HrHp7gvsac?= =?us-ascii?Q?ww7GtpPb7IQNVtIEL4AwHYajNBnRmDHZ7s/iNBhXqFxvglfPjuBZvWwH/Dwj?= =?us-ascii?Q?JOJzYHD0BWtS23gXEqpQDUA=3D?= X-OriginatorOrg: starfivetech.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86e21904-5731-4c34-d9fd-08dc43edb85b X-MS-Exchange-CrossTenant-AuthSource: BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 06:12:26.0604 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 06fe3fa3-1221-43d3-861b-5a4ee687a85c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dpevjTdkAACe8PMOUmLV5zWUQ5CauAY6xkxs5vdX4N75LUIxcrIvjWUqjJCjrjJqg4r0kGjXo3//M4U9iANFWH8NhyZvIp28wbzXTg7BkBg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BJXPR01MB0711 Content-Type: text/plain; charset="utf-8" Add StarFive Technology to the vendors list. Signed-off-by: Joshua Yeong --- arch/riscv/include/asm/vendorid_list.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/riscv/include/asm/vendorid_list.h b/arch/riscv/include/as= m/vendorid_list.h index e55407ace0c3..8c8f19ea505f 100644 --- a/arch/riscv/include/asm/vendorid_list.h +++ b/arch/riscv/include/asm/vendorid_list.h @@ -7,6 +7,7 @@ =20 #define ANDESTECH_VENDOR_ID 0x31e #define SIFIVE_VENDOR_ID 0x489 +#define STARFIVE_VENDOR_ID 0x67e #define THEAD_VENDOR_ID 0x5b7 =20 #endif --=20 2.25.1 From nobody Sun Feb 8 06:56:19 2026 Received: from CHN02-BJS-obe.outbound.protection.partner.outlook.cn (mail-bjschn02on2108.outbound.protection.partner.outlook.cn [139.219.17.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 45ADBE556; Thu, 14 Mar 2024 06:28:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=139.219.17.108 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710397701; cv=fail; b=i8XW2l0pjS1lQSA7vQWAESGxgSTwgtRdUuQdkhz2RcTj9ACf+J2cCB4HOyGIUVBT8cL4CjCwQKke3DirUZKZrNFlFsghX4Ka8j/sJqTnAnY3cH/mOJwirP8ZZ5uhbGxKY/73Y1iZCzQBFZkF5Z/wOonDiTBY1ya0v9a9F66gSk8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710397701; c=relaxed/simple; bh=lgLlVON8ujEjKjVzSUpp84E1ll4Jx3qCzBBtdAKWlIA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=acww2P6/7P/U+/JcOJXo7dM/htiCbsOwR9xsY4BDJmozO+Wz+dHqEKPc7zwsAvH9Ep1jjgNKkLXSSBiVexGwQxVV4T+v9lHO7QLHLFEoOjJnV5lojMI1p6hOyMoDq7e2C9/OdkJP+yVgrowvZMlKkfFFreGIhc0NhOluB2/4S04= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com; spf=pass smtp.mailfrom=starfivetech.com; arc=fail smtp.client-ip=139.219.17.108 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dV9ulM+H+1YE45mgeHZNFvUIQV2w++n03G8Bf8weCrEDC9ssrtvVLwjMo4MA/dQTK1H5WS8uFhmH4P06ADx9UXGOAXfsXI+jXMfE3sO/ZYQ8shb9BJ+qgoNQesMdN2pQ3715fY0pSHDq1hjprHowcpsYelNCrbon3wal1RZREKf0/1BJO203DsWI32oRI/GxFaUkKnIDspzNAsLRZIKaTArhnYamntIrn6tCiATzVPaO7Ed0/kfMqdMzYWErnJ/NAtF2IWmXkVl4Ry+mnn7y9rAuG38EB5ryiW+lJiXQGd+ArZ1FZ4ZJ9vXdiodqFAiRPERcciIQm4cvBqzJfoILIQ== 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=tCp8ZsGmMS+EoPESOEX1901ZFRhlU7sve5h9K5kYCAg=; b=gLDJ7Q0rsWE55mY3z4zOd095WVhI8Fb08VIEs8Rj6oSSryOTVvv8Ytez0Uc703wNLX6z9tpI3Oxpvu4LrfA0CGk/HcHwrM6LMlt8agFJd2W1xz4q8CjJ0CgTweL5jLCL26GsEXH0YBNczIGZLfA/n+XF2bzDI+VK9ND9Rw9MmLuwelrOO3GA75dc1pIUGnW8blWHzjPDWblPwtvDzw5VqqQY7voTn1a6xZLNtVSJmq9yCBDFB18JGodGP3hF+nsJWjfddmOQ8KFni+OxIAyoJ0VfiG250zrkhTOCl+ZDASqyoIPYrX39IH11Mtr0yr8VYQRmaQiPTk39rmXjXyhoJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=starfivetech.com; dmarc=pass action=none header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=starfivetech.com; Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) by BJXPR01MB0711.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Thu, 14 Mar 2024 06:12:31 +0000 Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207]) by BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 06:12:31 +0000 From: Joshua Yeong To: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, geert+renesas@glider.be, joshua.yeong@starfivetech.com, prabhakar.mahadev-lad.rj@bp.renesas.com, conor.dooley@microchip.com, alexghiti@rivosinc.com, evan@rivosinc.com, ajones@ventanamicro.com, heiko@sntech.de, guoren@kernel.org, uwu@icenowy.me, jszhang@kernel.org, conor@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, leyfoon.tan@starfivetech.com, jeeheng.sia@starfivetech.com Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH 2/4] riscv: errata: Add StarFive alternative ports Date: Thu, 14 Mar 2024 14:12:03 +0800 Message-Id: <20240314061205.26143-3-joshua.yeong@starfivetech.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240314061205.26143-1-joshua.yeong@starfivetech.com> References: <20240314061205.26143-1-joshua.yeong@starfivetech.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: NT0PR01CA0015.CHNPR01.prod.partner.outlook.cn (2406:e500:c510::9) To BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BJXPR01MB0838:EE_|BJXPR01MB0711:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ae60e8c-ccdc-4ee9-3c21-08dc43edbb5e X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jRv/wUwZUR3VZ/aUWcrGXT8mgjVTa3y2ylOogt0WKIDOaCW4BTw6RUiPpD5lpRm8IC71kgMCertMIv59m3gZahcNs1l81otMRCrD4+rYSe+rc7lLj+31xmJ64Isit0AKk3LIrEa53d1fKl1c9SaWCAS1FMaG+tXuvdKQUlT4zpdyWqs1FHHc6wzEUhXnT01Mc5l53ICGaRPZ++XzF+HskRWKCkC7+bf6m5fPObwAPzZRmSn7ieIbmQcikO/GKvwG1BSlXKTxSM1v3q88DO/2hnhbI5wUNdgEfTD3m02LJcxtX7+FgVG20aNu0HCi9kK/9KZIS2IAfwpBzgys0HB/BCCwU9pDk6uAIwanp4xEbv03rdDxEk/8JcgW8rtQuE9+bUUHgPZm+Zwz9NC8UTnxLPVhyY5zitHadsvs/q50NSaSG1MQ/dwWLKhCC/NuDivNGV9rQSWYa5+KX9ljwfuiF3wvYn4TvCnC6+kiIVEYaMxlle6Wr9shq00bzk1UBrEB4zlSy7pEq2UXkrw7DYGKtdZr0j0OF4E+WhfzqAwshWsvAsUvMilEgTiaHRAzeqLKYO4+h3KfQTmU7Gh1wBGT3nxVL+MjmbIVIPvk0qN69YYyzJFobAZ/25UG/E57Mo2AmKO3FnJsrHUZXzbmKb18tw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230031)(7416005)(41320700004)(1800799015)(52116005)(921011)(38350700005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?P6YfhrDAL4SS63zKqrpMmt0hq6azCqEvBA2f17af37EsotOWbOc7a1rLW1eT?= =?us-ascii?Q?wkDTzigX0kWB/01RotB55B6l2UeBM6/EieccYldu5AB36wcJ4c/HyCamW/8d?= =?us-ascii?Q?a+tUG5qNfe0R9zZCC/NRGD3ugtWVETsXfGa+bGT/gsbA6DZzjca9OJ3Gll6R?= =?us-ascii?Q?qwEZxgcaKmlqxmsBQ+LFnviqxOFcIS5afuaBQnYIiayGsetwD/FMQHvW3nRx?= =?us-ascii?Q?XQNLGsnmNfuL6kyBL4kOmXwRlj9Y3IcLGoqUOlA8meUlVEPWyf0oRa1ZrEG8?= =?us-ascii?Q?Hw0DZJyMTbQVxl2TmmF0QCt6KiAbSHQ6wGbPfFY81dt6lXeGzeKbj6Yh1pfM?= =?us-ascii?Q?nim8c13tMlFYLs2Xrke0VAgY38Z7uPWtPRWf5P/TYU00yK+MDLKGW6o8ZygQ?= =?us-ascii?Q?Zr0/yqKZP+ZzGdl8BWXZYSQorzL6geKesu2vJpI+Y8Rq0T9Wo1voTDC9vXN2?= =?us-ascii?Q?tp4m7x3eAI3aG3/2Iyz6vlA7P+9rAyxeADGAGlYf5mrnBwUY5gTnryo9NQaw?= =?us-ascii?Q?A+r6ZLASuy7XrjnAxTG14y28eSG0Jm7ep18A/YwQk5sraHCLb3pk8Fd3CC1B?= =?us-ascii?Q?iv8lY8qDyNeTcNUZNOPgfK6QBPGbQJ6d3tHpDltv3ljjjiwJZvFYnbceY9LU?= =?us-ascii?Q?gS0lpsQdq1JmbWUYFsOa0e6P2GwwWmi2DPxOjrrRf0YoqcllUzNtmecJvAUh?= =?us-ascii?Q?zu5o869toiAEtL0EEWnSMKngG00prrxpOT0S2EqCxD7DcCtNDBta75JY1FxZ?= =?us-ascii?Q?g/UA2nyJNn/WmvzKtTxUzM8Bn7WkDEDTNkuVTIvYYajLypwXjjdRoQ1iJTxw?= =?us-ascii?Q?QJbTKRgPdAM0oqEiojpf72AFB8iHV0QftNUVIN5o6gmrvXOIAQnLndawvE5m?= =?us-ascii?Q?MbC4dzqdZ4g2ObvaKpYlFs3fcOIdwY297oBq2W4xzFhvKPwNJLx3kZyL0PQ3?= =?us-ascii?Q?DjhUx940mGiJmI6cC1/s2nCjB8opvwIUKp9MO3KTq2TxUlQjLEyxiznv/XiW?= =?us-ascii?Q?xKMQtEYvSyBxX/D524ruhuOxJrv03RuzAJq8Acuo9RHG3O+YLAokao8baQA7?= =?us-ascii?Q?E805dSq/IsooZBUBu1TFmtwBu93roCW4hftpqmQpoAJXKORncaj24Qc9CHpD?= =?us-ascii?Q?+D1K1ZdVPHSQwAZAC5VfnCovs94142eEPODTO6hc/ZAr/m5EtM8nNAXiEzNO?= =?us-ascii?Q?jQDqoCkwczwTOCi5KjlbhrCczRzrc1WfVYFqAov6KMIssk3DS3BWMA4i7s0M?= =?us-ascii?Q?Nz72nG7CQryn84LI1XzYVqB1DaD+NzGAAhHRc9n1531a18thS29QVyckIcii?= =?us-ascii?Q?LLFynypGPC5xkSLRsN7HUx+QzZHGcW523L+X1o7vx8drYgYKiUqLccicF4bt?= =?us-ascii?Q?sEb8Whqxzc5HjM7kBPcoHfjteQ86Oh5vbDwAAPBlKCKuFn40bikCq7TyWlWz?= =?us-ascii?Q?47hjuc97C1Ipv/OBmUX2Uhj5uD9M0EbEHqpTb2nUKgIam43mIF+BgPXMw6mF?= =?us-ascii?Q?MRVZ0FyxnF9/NDFrrt1tI9vZY0s9tuGRfs7JgqNcRBoYFEC8fEBS1X3VT/qa?= =?us-ascii?Q?YLrDC3eCk25qMQCDjvHw1RoHo8YagrXiY6WI60UlzZkQLa9L/bi5uMA26xLm?= =?us-ascii?Q?6k4gDIRmpjJ9tt2GLyt+1M8=3D?= X-OriginatorOrg: starfivetech.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9ae60e8c-ccdc-4ee9-3c21-08dc43edbb5e X-MS-Exchange-CrossTenant-AuthSource: BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 06:12:31.0650 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 06fe3fa3-1221-43d3-861b-5a4ee687a85c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r2IisVnHXORhUc9vwcZhqZ9DdtqRB0Oxfh6bPMVKvPX5EIbonT8BwvOqlSFSHhxmty9/eq2caYdkiPk1RlkF/EDe/kjlnEfjnCCBV1BmiD0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BJXPR01MB0711 Content-Type: text/plain; charset="utf-8" Add required ports of the Alternative scheme for StarFive CPU cores. Signed-off-by: Joshua Yeong --- arch/riscv/Kconfig.errata | 21 ++++++ arch/riscv/errata/Makefile | 1 + arch/riscv/errata/starfive/Makefile | 1 + arch/riscv/errata/starfive/errata.c | 95 ++++++++++++++++++++++++++++ arch/riscv/include/asm/alternative.h | 3 + arch/riscv/include/asm/errata_list.h | 5 ++ arch/riscv/kernel/alternative.c | 5 ++ 7 files changed, 131 insertions(+) create mode 100644 arch/riscv/errata/starfive/Makefile create mode 100644 arch/riscv/errata/starfive/errata.c diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata index 910ba8837add..1438dd09533b 100644 --- a/arch/riscv/Kconfig.errata +++ b/arch/riscv/Kconfig.errata @@ -53,6 +53,16 @@ config ERRATA_SIFIVE_CIP_1200 =20 If you don't know what to do here, say "Y". =20 +config ERRATA_STARFIVE + bool "StarFive errata" + depends on RISCV_ALTERNATIVE + help + All StarFive errata Kconfig depend on this Kconfig. Disabling + this Kconfig will disable all StarFive errata. Please say "Y" + here if your platform uses StarFive CPU cores. + + Otherwise, please say "N" here to avoid unnecessary overhead. + config ERRATA_STARFIVE_JH7100 bool "StarFive JH7100 support" depends on ARCH_STARFIVE @@ -72,6 +82,17 @@ config ERRATA_STARFIVE_JH7100 Say "Y" if you want to support the BeagleV Starlight and/or StarFive VisionFive V1 boards. =20 +config ERRATA_STARFIVE_CMO + bool "Apply StarFive cache management errata" + depends on ERRATA_STARFIVE && MMU + select RISCV_DMA_NONCOHERENT + default y + help + This will apply the cache management errata to handle the + non-standard handling on non-coherent operations on StarFive cores. + + If you don't know what to do here, say "Y". + config ERRATA_THEAD bool "T-HEAD errata" depends on RISCV_ALTERNATIVE diff --git a/arch/riscv/errata/Makefile b/arch/riscv/errata/Makefile index 8a2739485123..4713a686b9f7 100644 --- a/arch/riscv/errata/Makefile +++ b/arch/riscv/errata/Makefile @@ -4,4 +4,5 @@ endif =20 obj-$(CONFIG_ERRATA_ANDES) +=3D andes/ obj-$(CONFIG_ERRATA_SIFIVE) +=3D sifive/ +obj-$(CONFIG_ERRATA_STARFIVE) +=3D starfive/ obj-$(CONFIG_ERRATA_THEAD) +=3D thead/ diff --git a/arch/riscv/errata/starfive/Makefile b/arch/riscv/errata/starfi= ve/Makefile new file mode 100644 index 000000000000..2d644e19caef --- /dev/null +++ b/arch/riscv/errata/starfive/Makefile @@ -0,0 +1 @@ +obj-y +=3D errata.o diff --git a/arch/riscv/errata/starfive/errata.c b/arch/riscv/errata/starfi= ve/errata.c new file mode 100644 index 000000000000..3ee360cd5e81 --- /dev/null +++ b/arch/riscv/errata/starfive/errata.c @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Erratas to be applied for StarFive CPU cores + * + * Copyright (C) 2024 Shanghai StarFive Technology Co., Ltd. + * + * Author: Joshua Yeong + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#define STARFIVE_JH8100_DUBHE90_MARCHID 0x80000000DB000090UL +#define STARFIVE_JH8100_DUBHE90_MIMPID 0x0000000020230930UL +#define STARFIVE_JH8100_DUBHE80_MARCHID 0x80000000DB000080UL +#define STARFIVE_JH8100_DUBHE80_MIMPID 0x0000000020230831UL +#define STARFIVE_JH8100_L3 0x40 + +static bool errata_probe_cmo(unsigned int stage, unsigned long arch_id, + unsigned long impid) +{ + if (!IS_ENABLED(CONFIG_ERRATA_STARFIVE_CMO)) + return false; + + if ((arch_id !=3D STARFIVE_JH8100_DUBHE90_MARCHID || + impid !=3D STARFIVE_JH8100_DUBHE90_MIMPID) && + (arch_id !=3D STARFIVE_JH8100_DUBHE80_MARCHID || + impid !=3D STARFIVE_JH8100_DUBHE80_MIMPID)) + return false; + + if (stage =3D=3D RISCV_ALTERNATIVES_EARLY_BOOT) + return false; + + riscv_cbom_block_size =3D STARFIVE_JH8100_L3; + riscv_noncoherent_supported(); + + return true; +} + +static u32 starfive_errata_probe(unsigned int stage, + unsigned long archid, unsigned long impid) +{ + u32 cpu_req_errata =3D 0; + + if (errata_probe_cmo(stage, archid, impid)) + cpu_req_errata |=3D BIT(ERRATA_STARFIVE_CMO); + + return cpu_req_errata; +} + +void __init_or_module starfive_errata_patch_func(struct alt_entry *begin, + struct alt_entry *end, + unsigned long archid, + unsigned long impid, + unsigned int stage) +{ + struct alt_entry *alt; + u32 cpu_apply_errata =3D 0; + u32 tmp; + u32 cpu_req_errata; + + if (stage =3D=3D RISCV_ALTERNATIVES_EARLY_BOOT) + return; + + cpu_req_errata =3D starfive_errata_probe(stage, archid, impid); + + for (alt =3D begin; alt < end; alt++) { + if (alt->vendor_id !=3D STARFIVE_VENDOR_ID) + continue; + if (alt->patch_id >=3D ERRATA_STARFIVE_NUMBER) + continue; + + tmp =3D (1U << alt->patch_id); + if (cpu_req_errata & tmp) { + mutex_lock(&text_mutex); + patch_text_nosync(ALT_OLD_PTR(alt), ALT_ALT_PTR(alt), + alt->alt_len); + mutex_unlock(&text_mutex); + cpu_apply_errata |=3D tmp; + } + } + + if (stage !=3D RISCV_ALTERNATIVES_MODULE && + cpu_apply_errata !=3D cpu_req_errata) { + pr_warn("WARNING: Missing StarFive errata patches! \n"); + } +} diff --git a/arch/riscv/include/asm/alternative.h b/arch/riscv/include/asm/= alternative.h index 3c2b59b25017..8f5e6883db97 100644 --- a/arch/riscv/include/asm/alternative.h +++ b/arch/riscv/include/asm/alternative.h @@ -51,6 +51,9 @@ void andes_errata_patch_func(struct alt_entry *begin, str= uct alt_entry *end, void sifive_errata_patch_func(struct alt_entry *begin, struct alt_entry *e= nd, unsigned long archid, unsigned long impid, unsigned int stage); +void starfive_errata_patch_func(struct alt_entry *begin, struct alt_entry = *end, + unsigned long archid, unsigned long impid, + unsigned int stage); void thead_errata_patch_func(struct alt_entry *begin, struct alt_entry *en= d, unsigned long archid, unsigned long impid, unsigned int stage); diff --git a/arch/riscv/include/asm/errata_list.h b/arch/riscv/include/asm/= errata_list.h index ea33288f8a25..1cd5ba3a1466 100644 --- a/arch/riscv/include/asm/errata_list.h +++ b/arch/riscv/include/asm/errata_list.h @@ -22,6 +22,11 @@ #define ERRATA_SIFIVE_NUMBER 2 #endif =20 +#ifdef CONFIG_ERRATA_STARFIVE +#define ERRATA_STARFIVE_CMO 0 +#define ERRATA_STARFIVE_NUMBER 1 +#endif + #ifdef CONFIG_ERRATA_THEAD #define ERRATA_THEAD_PBMT 0 #define ERRATA_THEAD_PMU 1 diff --git a/arch/riscv/kernel/alternative.c b/arch/riscv/kernel/alternativ= e.c index 319a1da0358b..deedd4b76472 100644 --- a/arch/riscv/kernel/alternative.c +++ b/arch/riscv/kernel/alternative.c @@ -52,6 +52,11 @@ static void riscv_fill_cpu_mfr_info(struct cpu_manufactu= rer_info_t *cpu_mfr_info cpu_mfr_info->patch_func =3D sifive_errata_patch_func; break; #endif +#ifdef CONFIG_ERRATA_STARFIVE + case STARFIVE_VENDOR_ID: + cpu_mfr_info->patch_func =3D starfive_errata_patch_func; + break; +#endif #ifdef CONFIG_ERRATA_THEAD case THEAD_VENDOR_ID: cpu_mfr_info->patch_func =3D thead_errata_patch_func; --=20 2.25.1 From nobody Sun Feb 8 06:56:19 2026 Received: from CHN02-BJS-obe.outbound.protection.partner.outlook.cn (mail-bjschn02on2121.outbound.protection.partner.outlook.cn [139.219.17.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 227355D724; Thu, 14 Mar 2024 07:46:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=139.219.17.121 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710402384; cv=fail; b=N5eUPw8sdBEU8OxknsFywZ3jFG1fftGjgoqdrO1H9IB3FrPE9Ac9Z/RcEb0JgzU1TrTIqgNDFRNKMi54GvgxHTqZxBqsrIhZWymggK7TdfMNuvlAXtmSjPe6xM7EVz799KGJDcyJpvl68H6HiWWz9Q97xGt0p3ZnHPCwEapfdJ0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710402384; c=relaxed/simple; bh=PoksSSO/4MjT5LKsifIJUmpo/IyjFGk/uo0lmuWTbrE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=EqidItVHfgSbqPRCESz2qtAFDpB3yseSBdJIPrWDuyVAMNFiPmWyIF/EgWKHWqGTkFsHv/YV/gijXiorewvrM6iiYJbxS2+8Ga4Rs0184mlL4ykA7MTPUtVYelKJ+Sb79uEWhHwxmsPFdtuovqV4I35a6Xyo9BhPHbeQqsUw0Xs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com; spf=pass smtp.mailfrom=starfivetech.com; arc=fail smtp.client-ip=139.219.17.121 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TFJSdJ7QnYniOG72gxZIHB42G7zRBU2+mrBpx907gB1X31cwz3FN0nQXlzjUPNMEManLklAycLVcoyE+r0gLw3uOukMX470nivKKCbKNfxgbK+owp+6I6Jy9yHlD2cMu/5azb2Kw1ANiqCQYYNJbIENNq+bXouDGWEuZ1Q8vJRa+YgfJKsvgp0cuBMFxCj2bFJco7CN15McpMhQ9J1p6xgmIi10TMZUj6uXCGt8vmKweSkylyp3FQu2UHTUJd61wBJOwUOs9m9SWnqYPHWf/OHtjzUandyS5OcWZ9xmOSGfu/5q2cCKWJAbb+4jv+OZlj6c2iyye2w+dpwOSawU5Hw== 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=/G1Nz9ycT1DhhUUC4iDrZWbhROgmt3+O2Ya8UuFhLbQ=; b=oWGOeu2DApaZt0jeasWRa6Sc/y/DpoqBu4P/Fz13fo5SUJFigEpNbI8+6qM54i/GQCCOhCJpJvv4OXjzD2g65ncfO1N3kA4ePVBFm30KxXo/acl2i4kvrWs/Ew6Kc9xIzLxleeafygToruI9MsoO9EuXc6HMwKMh0wI/YMOwBsAZ+qh0Wba2wTJRRwc/0f80iUoc3iRW1eZq9osKOgP+WXpqV6Z7eDWX8Bs8MHOJum97zUiK+Qjsv3qzkAuBWdKZOxoZwyYTXGKxWDRjygr3QqLaQf3s/XNtbqnRFMhJbTXTasvn5YwG8eYqzgwIJtAxFRQ9Fs3vn4P94OFiU53THg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=starfivetech.com; dmarc=pass action=none header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=starfivetech.com; Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) by BJXPR01MB0711.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Thu, 14 Mar 2024 06:12:35 +0000 Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207]) by BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 06:12:35 +0000 From: Joshua Yeong To: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, geert+renesas@glider.be, joshua.yeong@starfivetech.com, prabhakar.mahadev-lad.rj@bp.renesas.com, conor.dooley@microchip.com, alexghiti@rivosinc.com, evan@rivosinc.com, ajones@ventanamicro.com, heiko@sntech.de, guoren@kernel.org, uwu@icenowy.me, jszhang@kernel.org, conor@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, leyfoon.tan@starfivetech.com, jeeheng.sia@starfivetech.com Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH 3/4] cache: Add StarLink-500 cache management for StarFive JH8100 RISC-V core Date: Thu, 14 Mar 2024 14:12:04 +0800 Message-Id: <20240314061205.26143-4-joshua.yeong@starfivetech.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240314061205.26143-1-joshua.yeong@starfivetech.com> References: <20240314061205.26143-1-joshua.yeong@starfivetech.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: NT0PR01CA0015.CHNPR01.prod.partner.outlook.cn (2406:e500:c510::9) To BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BJXPR01MB0838:EE_|BJXPR01MB0711:EE_ X-MS-Office365-Filtering-Correlation-Id: c22cd1d8-7982-474f-1b5c-08dc43edbe13 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pzr5/KKPqLVWDFMa8lhCke4KRUPCWIxvPXKF6GjC+dZYbwz/WNj8JteG3LiGoSfPp8T8qp5YEnp31SsntS3pGFSj4ipxg3f/ERAmtTfhclBUDZPnHNPyPsic9902UmFayYZKCvX/dToI9jsnwrATgnM0KAhMC8oy5xPeCM33I+5qlhxn5hu5SSxp+Q7cdoq4wps4a4iQWZg/Bw/By2vLUa7a1vV57Z6Rt7cayDD0FZttz1S1oDX4nmtTcHOiuwk8/71T26hRAdXJFAQgPqlEQDRlKbL5oUnEWFCjYX5ulH+WL39p2Z1jxsnUddkqxu8qIKP/2BYol+MW4Ih6Ts7+Ta0FXIzYllt6Z68bDnacr0zAF/V1mrbtCHN+d+lu1RE525uZIRYixJ9u2lScd8UAz0jiftKWJM9sxwwOCevm4qUJmFEMIama28LC5bHg6sdgrjRWxJNmyOm2COSatyXF+qxpMxi4hex56MNAMPpXTsa/h/iNkWRyEpD9/5b9LMQZicwblgf6NBo47z2zpbecZogJ3hane0/I1wq6C0FVhYq2ZzzJwa9t3A7mVni0ehXmHo6tBtx6m2Oqejw+duvYLSmi8gUj+li3yaLfTuNqpM94GezRGu+tSk7TATEtqybAf0H4QI9r1NHiyRuAHPyW9w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230031)(7416005)(41320700004)(1800799015)(52116005)(921011)(38350700005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5rjTv+dBV24qnAt/KcYWLMDsPV0lPx+GZBFxqJ6SAeXBjrVASZzdtzUAGPoo?= =?us-ascii?Q?piDERj87HGvoPhhKv8GiT1NeN8OOxp0qnPRktvLYCD73UKg0ktIBf8wkunHD?= =?us-ascii?Q?fxh+STQRsh7Hh1K4K+2Wc41nhvb1zNvg4VAd+G4EONlLmoceaNz6PVSeHDaq?= =?us-ascii?Q?hYF2ctLnAOdEx5ZNxR7edGI6j8N+JciS9tuWq8IK8pBUKxJgM4yY5AvczCBf?= =?us-ascii?Q?+3U07ydpYCVKvnPUqAxIvboUJY52udnFneQOV6NEPZubrrs75xnGJCNk/jxj?= =?us-ascii?Q?yGg755bAZUPXgW3UFC5aG0cDGyHTd0Q3VMv2VOF9uCjfUwrbMMrDudZ2pHix?= =?us-ascii?Q?MD2ZOW7DfNgcogePz0U84FtiYMUQw4J8pLC6xoqGkIdEmoYzC1iAaJA1xyo5?= =?us-ascii?Q?UzJ6IQ+TnBbvCF93T8C+3K4Yxdj9TEY7SYH5X2uD2U0a0ZPU6hNlwz7FWbAG?= =?us-ascii?Q?zo4Ifa3C59HJwr6fIUMp0aSl9lYPAagcIilJ6NB+F4c26RS511O2sOO1no1i?= =?us-ascii?Q?6R55KpbFkFUIYdyNK6w8J4pAowD9GiQ19MEON0aZXBW/bZtIP3oKlDz2hRTC?= =?us-ascii?Q?mcQVXL66SI0Nk9dbpK+TD7jTD+KxTrWOGV+T/4A/ihJ18Xo5K4rQ9jjcVHRd?= =?us-ascii?Q?fl74hhSYUfEtL0Muv44cptdgvTbfp95tYSziLpf5nV36o8GSElOmkvbjxgGN?= =?us-ascii?Q?WKIDSU/ELKQqwExWek20JVuM8+kJ4aXKKwRRhwfv/feLpRyX9fBeOzgkszwS?= =?us-ascii?Q?TfPNHrhem+Z4RuDvy7aIW8FIi1S9yC1UQNlVXyOXiA3Xq0ooanIo2oe2eLHb?= =?us-ascii?Q?l4LfRF0RW0qCsrs0uaQQxcAms6VkE90EmMpPACSHWQLxMLPzC2hkNxbK1bMa?= =?us-ascii?Q?TxhPKWRQnLLmcRg7Qk9rtkjR1uywh1t9Xo7PJUxWtayzO0Icy02WFXIH9uhW?= =?us-ascii?Q?k1DL6zvN3ym7wIr+kjYY0g5JyHD62iidq5cVLAcbMK1oNQVIsAREpBqIIskq?= =?us-ascii?Q?HDgGcTXPzrZPTHTs8Q65QKI5tD+eMCAhFI3F5J1oTqyHNoE5+SZcVSuqBkLm?= =?us-ascii?Q?sIIHPOpBEgb7AOtE3y1u1jgptA2VGqym4p35BkKlUtkmyvndXDJ6sYfLWKPx?= =?us-ascii?Q?AbB64N7P2DzousM7l+NZwsuskonDopHeGOoQ44pTKO+38lsSlDpdJNK7/83h?= =?us-ascii?Q?qj3wWj61kVT6jrjtSuOTnzpuY1RiUeOy77SOadQM8SpDLk82BeW/TwgBQWrI?= =?us-ascii?Q?L2U+IuKpe17hQs2RpagsuxENtIz7g1mpotvm2hBvprhZzpXIiW+pgqpLvelS?= =?us-ascii?Q?MKYgx4QLv/AlTF7kZURzroyqNWH8MqplpBsHrS7NGhnlU9eggMaap5KZHQue?= =?us-ascii?Q?JILbQUX0jWoeupddrsTrHTJyvj0+WGR/Gnz+voruVVwkM5P9tskRIpC8R9p3?= =?us-ascii?Q?noCCnTAHb88Y2LMkJFzteoOxWqeWhBQwRO9BzE8gj2RisBSKHsAz4QtaYd2x?= =?us-ascii?Q?1uiI8TX2soYZcI86idEkCfvMQqTw/6XSTvW0CC9RXpcA/nKRPyosGY03Yu5F?= =?us-ascii?Q?RbpnwB/rM6rrX4kLIxuCNlWnBZ33o++MzmTcyV55ah8W9Pl36QDR91Zh1stI?= =?us-ascii?Q?mh8CT7pPzZvTu98QfuwI7nE=3D?= X-OriginatorOrg: starfivetech.com X-MS-Exchange-CrossTenant-Network-Message-Id: c22cd1d8-7982-474f-1b5c-08dc43edbe13 X-MS-Exchange-CrossTenant-AuthSource: BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 06:12:35.6080 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 06fe3fa3-1221-43d3-861b-5a4ee687a85c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dIgb+5vRo/W3YVV8b3EpQqprnp5iwQPHaTlcEKsq4yQm44HOJ5HPVOSWfc4KvvTAinAom7WjG8VxE8NcpA2q59YDAomu3xW++AUVTuc6QO8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BJXPR01MB0711 Content-Type: text/plain; charset="utf-8" Add software workaround for StarFive StarLink-500 on JH8100 SoC for CMO extension instructions. Signed-off-by: Joshua Yeong --- drivers/cache/Kconfig | 9 ++ drivers/cache/Makefile | 1 + drivers/cache/starlink500_cache.c | 137 ++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 drivers/cache/starlink500_cache.c diff --git a/drivers/cache/Kconfig b/drivers/cache/Kconfig index 9345ce4976d7..e215379f6a73 100644 --- a/drivers/cache/Kconfig +++ b/drivers/cache/Kconfig @@ -14,4 +14,13 @@ config SIFIVE_CCACHE help Support for the composable cache controller on SiFive platforms. =20 +config STARLINK_500_CACHE + bool "StarLink-500 Cache controller" + depends on RISCV_DMA_NONCOHERENT + depends on ERRATA_STARFIVE + select RISCV_NONSTANDARD_CACHE_OPS + default y + help + Support for the StarLink-500 cache controller on StarFive platforms. + endmenu diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile index 7657cff3bd6c..c515eb5714ea 100644 --- a/drivers/cache/Makefile +++ b/drivers/cache/Makefile @@ -2,3 +2,4 @@ =20 obj-$(CONFIG_AX45MP_L2_CACHE) +=3D ax45mp_cache.o obj-$(CONFIG_SIFIVE_CCACHE) +=3D sifive_ccache.o +obj-$(CONFIG_STARLINK_500_CACHE) +=3D starlink500_cache.o diff --git a/drivers/cache/starlink500_cache.c b/drivers/cache/starlink500_= cache.c new file mode 100644 index 000000000000..eaf8303cb086 --- /dev/null +++ b/drivers/cache/starlink500_cache.c @@ -0,0 +1,137 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Non-coherent cache functions for StarFive's StarLink-500 cache controll= er + * + * Copyright (C) 2024 Shanghai StarFive Technology Co., Ltd. + * + * Author: Joshua Yeong + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define STARFIVE_SL500_CMO_FLUSH_START_ADDR 0x0 +#define STARFIVE_SL500_CMO_FLUSH_END_ADDR 0x8 +#define STARFIVE_SL500_CMO_FLUSH_CTL 0x10 +#define STARFIVE_SL500_CMO_CACHE_ALIGN 0x40 + +#define STARFIVE_SL500_ADDRESS_RANGE_MASK GENMASK(39, 0) +#define STARFIVE_SL500_FLUSH_CTL_MODE_MASK GENMASK(2, 1) +#define STARFIVE_SL500_FLUSH_CTL_ENABLE_MASK BIT(0) + +#define STARFIVE_SL500_FLUSH_CTL_CLEAN_INVALIDATE 0 +#define STARFIVE_SL500_FLUSH_CTL_MAKE_INVALIDATE 1 +#define STARFIVE_SL500_FLUSH_CTL_CLEAN_SHARED 2 + +struct starfive_sl500_cache_priv { + void __iomem *base_addr; +}; + +static struct starfive_sl500_cache_priv starfive_sl500_cache_priv; + +static void starfive_sl500_cmo_flush_complete(void) +{ + ktime_t timeout; + + volatile void __iomem *_ctl =3D starfive_sl500_cache_priv.base_addr + + STARFIVE_SL500_CMO_FLUSH_CTL; + timeout =3D ktime_add_ms(ktime_get(), 5000); + + do { + if(!(ioread64(_ctl) & STARFIVE_SL500_FLUSH_CTL_ENABLE_MASK)) + return; + msleep(50); + } while (ktime_before(ktime_get(), timeout)); + + pr_err("StarFive CMO operation timeout\n"); + dump_stack(); +} + +void starfive_sl500_dma_cache_wback(phys_addr_t paddr, unsigned long size) +{ + writeq(FIELD_PREP(STARFIVE_SL500_ADDRESS_RANGE_MASK, paddr), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_STA= RT_ADDR); + writeq(FIELD_PREP(STARFIVE_SL500_ADDRESS_RANGE_MASK, paddr + size), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_END= _ADDR); + + mb(); + writeq(FIELD_PREP(STARFIVE_SL500_FLUSH_CTL_MODE_MASK, + STARFIVE_SL500_FLUSH_CTL_CLEAN_SHARED), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_CTL= ); + + starfive_sl500_cmo_flush_complete(); +} + +void starfive_sl500_dma_cache_invalidate(phys_addr_t paddr, unsigned long = size) +{ + writeq(FIELD_PREP(STARFIVE_SL500_ADDRESS_RANGE_MASK, paddr), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_STA= RT_ADDR); + writeq(FIELD_PREP(STARFIVE_SL500_ADDRESS_RANGE_MASK, paddr + size), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_END= _ADDR); + + mb(); + writeq(FIELD_PREP(STARFIVE_SL500_FLUSH_CTL_MODE_MASK, + STARFIVE_SL500_FLUSH_CTL_MAKE_INVALIDATE), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_CTL= ); + + starfive_sl500_cmo_flush_complete(); +} + +void starfive_sl500_dma_cache_wback_inv(phys_addr_t paddr, unsigned long s= ize) +{ + writeq(FIELD_PREP(STARFIVE_SL500_ADDRESS_RANGE_MASK, paddr), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_STA= RT_ADDR); + writeq(FIELD_PREP(STARFIVE_SL500_ADDRESS_RANGE_MASK, paddr + size), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_END= _ADDR); + + mb(); + writeq(FIELD_PREP(STARFIVE_SL500_FLUSH_CTL_MODE_MASK, + STARFIVE_SL500_FLUSH_CTL_CLEAN_INVALIDATE), + starfive_sl500_cache_priv.base_addr + STARFIVE_SL500_CMO_FLUSH_CTL= ); + + starfive_sl500_cmo_flush_complete(); +} + +static const struct riscv_nonstd_cache_ops starfive_sl500_cmo_ops =3D { + .wback =3D &starfive_sl500_dma_cache_wback, + .inv =3D &starfive_sl500_dma_cache_invalidate, + .wback_inv =3D &starfive_sl500_dma_cache_wback_inv, +}; + +static const struct of_device_id starfive_sl500_cache_ids[] =3D { + { .compatible =3D "starfive,starlink-500-cache" }, + { /* sentinel */ } +}; + +static int __init starfive_sl500_cache_init(void) +{ + struct device_node *np; + struct resource res; + int ret; + + np =3D of_find_matching_node(NULL, starfive_sl500_cache_ids); + if (!of_device_is_available(np)) + return -ENODEV; + + ret =3D of_address_to_resource(np, 0, &res); + if (ret) + return ret; + + starfive_sl500_cache_priv.base_addr =3D ioremap(res.start, resource_size(= &res)); + if (!starfive_sl500_cache_priv.base_addr) + return -ENOMEM; + + riscv_noncoherent_register_cache_ops(&starfive_sl500_cmo_ops); + + return 0; +} +early_initcall(starfive_sl500_cache_init); --=20 2.25.1 From nobody Sun Feb 8 06:56:19 2026 Received: from CHN02-BJS-obe.outbound.protection.partner.outlook.cn (mail-bjschn02on2138.outbound.protection.partner.outlook.cn [139.219.17.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 644336CDA9; Thu, 14 Mar 2024 08:47:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=139.219.17.138 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710406057; cv=fail; b=VvVQUaM9azE8fUCKgvZTVZxKHjtpmtEjO0isMqcZ65k9goDyoLq5mKuXXiCWg5IBMW97uwzsE3TPdRWQ1KOl53wC9NDsV20hUTVS5k523hVz3eQDZ80vodO9vE3899r9D+J2RHbCEd3ywMGjWeWL23SKBt9rl5TTW94Dfrod89w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710406057; c=relaxed/simple; bh=YXTy3D8+8zKyo7U7gL6KxAUAuqHMOtw7c4lwM7ak78Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=ZNhcnLRPH9qO5ANTTnU0bSNmSNqwVjbjjZsA2JZm9591iETXrNvc87FziR3sF7ZENQ4zuvrxMPowR5BWLZYypzqRxXlLe4nuKH90hLjVP+IJDJZse7XBoR4BAy3S52e2PI7RVuqwp3elVPv+FqVVIgmDEUTdSwcHlVeuZ4+u2eQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com; spf=pass smtp.mailfrom=starfivetech.com; arc=fail smtp.client-ip=139.219.17.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EKEgXBP5U44G1klIsXyjdwOztF6KhUWyMtf+H7tiessRUYVXFR7ZeRrk6VtV6uzx9Sqh9vKN3U+bjiysJcx4H2Ekp1uvr3CtbMsAbdQ5KTN45R3OduFtfH7j1poW/jm2THrWZX8Pj63tQlOg6fEyKGxzR6b19VFHXH84CED+p48uqry/httILezl7aWf7/97ar+AiDJ7r/NUZIMTMBfhv/7ZbgtJN+T5a9mo0SaGzmAQU4DxQolt1ii6MkyACp12Klf1vU8XK26Bdl8ziu+eHRPe3YXiM7tuvwEDy0ItXE0zrbjIwMPW5MysBW9PWDX3EuTOxSh1/O+7jw9NHDrQkw== 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=3Up0MHIoIRu+8GF/6KPeb8yOAl80wqLgHl0l3i4nGxQ=; b=YFf3G8PwSLyEdXobOE3GpP8odhTUJOR1YpnnRsvun/UWUXOJGvKrUuSgRuVrqSMtw0M13Ztcz2p6Ac8iqGDsx+3hcgTKUErVzgxgzBcyzEDNwLM8WUrtMjDILM5YM9MX9JSEIvT0X31Ksz+I5FobK1KdzlEY/i52yOS4H0BQTMHhugKX0mhlLvTnXZlewpGETZtSpH1s+I5UkGHoECgXZYn9/YvEPYps97BmX0nUTRHc53zHwK7HCtDFordHkD/JoJWK4jroR0vME7u3aLBLQbgKj7niWqcSPk9O/zrx46Tw5SX6X3xUPneMvU1r2EIEh4xeAwz/hnlKr+aAsvhiMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=starfivetech.com; dmarc=pass action=none header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=starfivetech.com; Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) by BJXPR01MB0711.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Thu, 14 Mar 2024 06:12:40 +0000 Received: from BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207]) by BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn ([fe80::a038:3f49:b470:9207%4]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 06:12:40 +0000 From: Joshua Yeong To: paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, geert+renesas@glider.be, joshua.yeong@starfivetech.com, prabhakar.mahadev-lad.rj@bp.renesas.com, conor.dooley@microchip.com, alexghiti@rivosinc.com, evan@rivosinc.com, ajones@ventanamicro.com, heiko@sntech.de, guoren@kernel.org, uwu@icenowy.me, jszhang@kernel.org, conor@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, leyfoon.tan@starfivetech.com, jeeheng.sia@starfivetech.com Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH 4/4] dt-bindings: cache: Add docs for StarFive StarLink-500 cache controller Date: Thu, 14 Mar 2024 14:12:05 +0800 Message-Id: <20240314061205.26143-5-joshua.yeong@starfivetech.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240314061205.26143-1-joshua.yeong@starfivetech.com> References: <20240314061205.26143-1-joshua.yeong@starfivetech.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: NT0PR01CA0015.CHNPR01.prod.partner.outlook.cn (2406:e500:c510::9) To BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn (2406:e500:c211:1b::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BJXPR01MB0838:EE_|BJXPR01MB0711:EE_ X-MS-Office365-Filtering-Correlation-Id: 9fab0cb1-e899-42b8-9c16-08dc43edc0bf X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A5p72sJLznyvOW6snsHQh0uS2Qai/xWwik8ScFehXVeOmeaFLdSqP0Kn9aFj+4Ihqur+4tSIJbicZAsewWanE5rVa2rD1ut4t7RY53BT43tr06BdhzgYTV9cikmn5qrVmRLNzYPqnDraC6s+bVf+PmwxBlHq8oKMdVztYlEFGWJ/JLKL/GLhy2UekIPDJwP4RiK39StwbrqBxnTTjGbN7iqPCqulhH2so8LIV4EL3pDUsF6Hul8PDRere9J5vsbqiVxE2icGo2sgMWjj9c07aEcKnvPDEWaYHjweOEAnqZHZZncor+Ei/mrjqYe+ju/KoOwwkUxld9hTLRq0t/6pseSDzEEmK56Pv/iYe6+EP68VRwd4eOPQJD4BRphKqjBBVBZU6k2B0R05zL4TX8ShDqE27toiqwrM3+DJRIaEswygGPdCZCoc73q9pmy7/YeYsH1+5ck/Te0WAZbE67zKj9p5OcgpCSrVpZIjeOcwdH+ZFzpqlFGI7gTgBSMRNmikUkYlN+1FAUWGG6gbkG5SPosgOc7dJIT9zOAPPEl3TxTYHFCqsHq6ZJNY+YLkuZZuAC4IkUSFYJekuXDNOFNbAwUvbsN09i9ibh3LytFcZ4Mm9cdEIz9eLk0zxg20ZSxHZcsLe8qy6TJRRS2Yx930bg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230031)(7416005)(41320700004)(1800799015)(52116005)(921011)(38350700005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?34hi1Cgbk+6sYQRCMq+88NitFUNkqH/fLyzIlh5aizAYcoqcLe0W6Chs8zPD?= =?us-ascii?Q?6FCUQ7qsNjbg5o2FT28aOGPxZUW8Sf3RHJbYVZRSkSXCucFl7L2ekN+pzj5T?= =?us-ascii?Q?AwTjnTb1Qyyc6WdrSdHR6KKfHxsJZfhHC+4TLUqjZODPXbNbnn0TPxdaYfGF?= =?us-ascii?Q?XoQkkOgEC7N1fsumU9idA6Kc/Qtky2jFNOb2Vc6XCiwiiN2/5J/BNiWtGb3f?= =?us-ascii?Q?d5hBb/D7Xim8w+qsW+7fdZZ4xQuvM2JNOlGKnLvMfUusAfnwn5WfzvyYn7Yv?= =?us-ascii?Q?deYNuZSg+YB2EFO7mTnizwjX90gjBQMx0O9I/GR2sp9KJfjqev6qHq07Ol1s?= =?us-ascii?Q?mDxcAcbfJ2/cIHcrB/y0Sj9bykJZoDtCcTAt+5RJfTCaYYGCKjTN1ABqu55t?= =?us-ascii?Q?hO7hVMgFC2E1GFdp2AIXqIylVLlYPNvSertukSBwT9FpsrkSc93a0DyFgHwV?= =?us-ascii?Q?mzP2VU+1XukpAwJlsIbdVT+z0eqXHILaUsWVKhhFJdw8cWh407WImJwdTxzy?= =?us-ascii?Q?sejDny6CT/7VhfYrdOhRi8n4ElS6bvE0fvNQtZFZpOjRcsBvSL4qbvbMA/H0?= =?us-ascii?Q?0gjLMXA/tIwR79R0l1e8rtBAmTVXTQRdzEUHaHvd9uI7pbwG1p2Tc1R8rxoU?= =?us-ascii?Q?rn50qSYNW8HbF1ujW8iXDOLt2BWKUm381dJUlA0+n6RiNTm4G/zba5YvJ/4u?= =?us-ascii?Q?sAmPM+/ExQdkKSltf04jQn0TQPS13JBupe7CUmfiaAar5LsohT5dAXiSHwXn?= =?us-ascii?Q?tmyWvw7FPx8noURlv+sWrcHgi0joz8TsRf/i0EAqKN2z0BSNLiHo9ELvRhRh?= =?us-ascii?Q?3jpXyYISD9By9w9AcWapSzssF0/zfn4AuQYSNJPtqm41eUFY11QHLsLZMuGP?= =?us-ascii?Q?zEABA98xE3iplrGrQPh0n9d3i4jN0c6mV4H8vKtjsNdY2k5fCI3+X8iuPJgO?= =?us-ascii?Q?GAuJQ69WM1GxnKSmdA0aL1pTD2iR3SMFLsnjwX5fJApNyLqB6FFl81cOtWob?= =?us-ascii?Q?47ipKuNI9BP8bUTfZXAMBB5W9uZpTj0rIDjYqohsgp5/azykuCNP1YA1ub+P?= =?us-ascii?Q?ROJ/Pa/62TVkaxtEP7a0kneZQpkxWFek4zL6ZyI1dxf6oCC6qQC9kqvi5SVH?= =?us-ascii?Q?AxU2lA/G/nzxnWEo38lcAiSU1fZ4C6xmdyM+IMGMvBexJwZ9zAsfGUffsI6g?= =?us-ascii?Q?87eh+Lmel1AW8Dz2frY48D7kHcJsLZgXQjwPUDM+O0inL08YDSD5iLzRYOe6?= =?us-ascii?Q?2oYkVmgKMQsvQ0nw9KaOiUaL05vGtQaUagNc/H0eMY5o1Cjlgq8gSUw/RLmQ?= =?us-ascii?Q?b491oHAyUjBSot/9o3SZAceo/UUE++6FTG28+ZjKbUIegVGz/LYmhHGfuLd9?= =?us-ascii?Q?dLIa/mCcouVxQWDeCVmQ4gMek3J47pc5PNuni/OZ1Q6NBruhg3HLHw1DFVGG?= =?us-ascii?Q?BRGkZN7sy1oMmHmI7+3LYfZRR41sjkb1QOsJNxUE2SCirteG3rfW91YB0HDe?= =?us-ascii?Q?Y6l5sNCmrBVz03vBxujbT0UEWYafPBhDSOniEY1PdmSlXb6G378YzxduH/7m?= =?us-ascii?Q?rM2WGwVaaEVFMtXMa2AOs42Bv5/x5d+87bqoFOFBqOixg6WBtYjpKHJ6RxuG?= =?us-ascii?Q?l6bxLlSTdY0YbhItVz1576Q=3D?= X-OriginatorOrg: starfivetech.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fab0cb1-e899-42b8-9c16-08dc43edc0bf X-MS-Exchange-CrossTenant-AuthSource: BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 06:12:40.1001 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 06fe3fa3-1221-43d3-861b-5a4ee687a85c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HIOSGwWNTfBIgfRGjPU18uo2XvJ0O/tiNAXOa/XkVsoV75woDK3C5ZEb2S+Azjj/X41VWWuasbUEJTDg5iR0bFGU3c4Zu8Y1iF+3gJ07SzI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BJXPR01MB0711 Content-Type: text/plain; charset="utf-8" Add DT binding documentation used by StarFive's Starlink-500 cache controller. Signed-off-by: Joshua Yeong --- .../cache/starfive,starlink-500-cache.yaml | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Documentation/devicetree/bindings/cache/starfive,starli= nk-500-cache.yaml diff --git a/Documentation/devicetree/bindings/cache/starfive,starlink-500-= cache.yaml b/Documentation/devicetree/bindings/cache/starfive,starlink-500-= cache.yaml new file mode 100644 index 000000000000..97ddf7db39e9 --- /dev/null +++ b/Documentation/devicetree/bindings/cache/starfive,starlink-500-cache.y= aml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/cache/starfive,starlink-500-cache.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: StarFive StarLink-500 Cache Controller + +maintainers: + - Joshua Yeong + +description: + StarFive's StarLink-500 controller manages cache shared between clusters= of + CPU cores. The cache driver provides mechanism to perform invalidate and= write + back functionality to the shared memory. + +allOf: + - $ref: /schemas/cache-controller.yaml# + +# We need a select here so we don't match all nodes with 'cache' +select: + properties: + compatible: + contains: + enum: + - starfive,starlink-500-cache + + required: + - compatible + +properties: + compatible: + items: + - const: starfive,starlink-500-cache + - const: cache + + reg: + maxItems: 1 + + cache-size: true + cache-sets: true + cache-block-size: true + cache-level: true + cache-unified: true + +additionalProperties: false + +required: + - compatible + - reg + +examples: + - | + cache-controller@15000000 { + compatible =3D "starfive,starlink-500-cache", "cache"; + reg =3D <0x15000000 0x278>; + cache-block-size =3D <64>; + cache-level =3D <3>; + cache-sets =3D <8192>; + cache-size =3D <0x400000>; + cache-unified; + }; --=20 2.25.1