From patchwork Sun Jun 28 14:45:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagar Shrikant Kadam X-Patchwork-Id: 1318594 X-Patchwork-Delegate: uboot@andestech.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=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256 header.s=selector1 header.b=eDSb1lOL; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49vtjL5Vf8z9sDX for ; Mon, 29 Jun 2020 00:46:14 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F35AB81EB5; Sun, 28 Jun 2020 16:45:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.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=sifive.com header.i=@sifive.com header.b="eDSb1lOL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 185B081EAD; Sun, 28 Jun 2020 16:45:27 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20600.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e89::600]) (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 C609181EA2 for ; Sun, 28 Jun 2020 16:45:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sagar.kadam@sifive.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GFLHWAXQOFkKWZhOmW9EXhN7Mcf9og+wk8Zs3Aw22xCVn+LYZnQaNZ89PnURrHY8srj38/8q9E653I1Fg+ZLzIZOnuQ8nIIigMSAaHe9jA/+rcAwXQ7sXbqg2ApZN1CIq+3J1bqvriOTECE2Jnzs3gFM9Jlu4uE9F0pa45MtbgfVRY8cgqvDcc/Hr8sapG8Cr1CnD6a66BoA36xQYgfvQ8SFIL/zyPJ3/2xVvelgv33E2lgex+aAQDH4LbEFyJgPbDDOA//f9rjWOWoojJP7T1+gTYoLO1hvEZlN/x59CPM6cmcFDuFowjrYphgAUr0Z9RK5nGcGz2J4132Y/S0reg== 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=8WTwYwyR8cYD81JXyRGWDd/6ZBl5/FrYJ/7JBo2yovc=; b=Z7CIAqXR1A5UkZzbLcqozAgt06B6Wo5aEMwU2jIxruV6R5JiP1Pfk8QlNu0YQibprKqWyqB9PyBVn+qz4kIEgNHZ1VZwTXWmLa1fNBKM+gPbg+i2krOcOMcJyDP37tebiHYh1AiRjFqua6f8Nu5LZyMXYsv3Y4Fp8o152lSVXzvQbTxIbduyEO3lw+bEpCLisNccGjqabpfM57q+sp7kkO9N6Y162dZY8n0VMkTfPT2L+0yerhTi1inyUvmV8ahDoJwk8xHte/mHCbkmU0uP6tQ6bhC67Ig3tLyvyI3Rn8hugcsFCuNvfJx1MlU9y33ZjBfY4wjY76gjt4Kb6WrWnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sifive.com; dmarc=pass action=none header.from=sifive.com; dkim=pass header.d=sifive.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8WTwYwyR8cYD81JXyRGWDd/6ZBl5/FrYJ/7JBo2yovc=; b=eDSb1lOLZXPvrrY8shW6lpOE9SazRhXqfzEOf/9iVM3z3Qg48JFRlEAdRYLjc1lKkFTQES7hEBKxf8cNZOFgUt2ug+s+p/mlVB72iXNY9nsWGAmE8NmroHZXp8foNloF9opSLYhL8rCnMi8XMIJ8g2lIzMMb6QzyQQzZCgdj3yI= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=sifive.com; Received: from BN8PR13MB2611.namprd13.prod.outlook.com (2603:10b6:408:81::17) by BN8PR13MB2689.namprd13.prod.outlook.com (2603:10b6:408:84::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.14; Sun, 28 Jun 2020 14:45:23 +0000 Received: from BN8PR13MB2611.namprd13.prod.outlook.com ([fe80::c1d9:f4ee:80ab:de83]) by BN8PR13MB2611.namprd13.prod.outlook.com ([fe80::c1d9:f4ee:80ab:de83%6]) with mapi id 15.20.3153.016; Sun, 28 Jun 2020 14:45:23 +0000 From: Sagar Shrikant Kadam To: u-boot@lists.denx.de Cc: rick@andestech.com, bin.meng@windriver.com, jagan@amarulasolutions.com, pragnesh.patel@sifive.com, anup.patel@wdc.com, sjg@chromium.org, ye.li@nxp.com, peng.fan@nxp.com, seanga2@gmail.com, Sagar Shrikant Kadam Subject: [PATCH v7 4/4] riscv: cpu: check and append L1 cache to cpu features Date: Sun, 28 Jun 2020 07:45:03 -0700 Message-Id: <1593355503-24938-5-git-send-email-sagar.kadam@sifive.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1593355503-24938-1-git-send-email-sagar.kadam@sifive.com> References: <1593355503-24938-1-git-send-email-sagar.kadam@sifive.com> X-ClientProxiedBy: BY5PR17CA0001.namprd17.prod.outlook.com (2603:10b6:a03:1b8::14) To BN8PR13MB2611.namprd13.prod.outlook.com (2603:10b6:408:81::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from gamma07.internal.sifive.com (64.62.193.194) by BY5PR17CA0001.namprd17.prod.outlook.com (2603:10b6:a03:1b8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3131.20 via Frontend Transport; Sun, 28 Jun 2020 14:45:22 +0000 X-Mailer: git-send-email 2.7.4 X-Originating-IP: [64.62.193.194] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 99560c7d-2b50-473c-925d-08d81b71e31f X-MS-TrafficTypeDiagnostic: BN8PR13MB2689: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2399; X-Forefront-PRVS: 0448A97BF2 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: P6Ta+R2hegO45TD1G/4Bl2OY6I0Kc99SZD90Hiz5wbPXtI8O6b+RV0qciVPZi2r8jdxeEU/ZnjZBYXvYTKAVV+ZaMWzoFu/CL1+cVjnNy7cWwBmx4RWScXNWET9abZ+AkZhLGCeRpsTxGpPXRWBYlbCLPsZ23+0a5dowZwIkEksBUdBjNOXPmVhKZiOd1PMNFSQ+WofelcgKPoTLw7TVdqUmJlk+NBU6qFuwJrJvqQ0NsxLwtWeY/29SZAH6k8Yeqptdf1dOByrJ8c9Z9qhLvo68oaElcCc59vU6N7DVzhtB4o1Birw9fyGllvHBN9e2eEakGMSUkvVET4eP4O+jZQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR13MB2611.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(136003)(396003)(346002)(39840400004)(6486002)(86362001)(83380400001)(26005)(5660300002)(6666004)(7696005)(316002)(6916009)(186003)(52116002)(16526019)(478600001)(36756003)(8936002)(8676002)(66556008)(4326008)(107886003)(956004)(2906002)(2616005)(66946007)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: kl1+rWlfahHdtFOg4Z+JQixwxxaasAdwYk5QyGiBf52hy18E2/kuPbSQumx+jVPpkEP0RTvyGMUgWsf4G60f47CUJa4jnkHfnKv6CQrlhO1pFLo+OCBuzya60UBbEx29eBYVESDgoXxE6TE6sQi3+IuBjDmmNfWR6AdrDY8dp3+xRXBsn6LlQiya//FgJWIDTmBdIsB9BLw5SvIjbEWsUBKHRF5YEgHaifwpINamkDk0mjuAbfq+6uo8AM53N1ial2U+PneHxoqrvmczb5xBOod0KdHW6XzMg+5i1AcMttbuyNp45YSFHPp/wE7ZUVtqy6yzkNM8R8u3a/2dxTLR9gjPUN9/Hach9XFXppeuUL08P6Q+1GXE0dopqUtojqHUTiAU661/Cv17ijoaMBBURwGN36dKH+93eCMiAob4c0dNdniDgFxgxCV2WOGyKLDMgn5mkX+shV1b7IEnmWk0EsrWy6H9t+NKKOLb4jSRM5U= X-OriginatorOrg: sifive.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99560c7d-2b50-473c-925d-08d81b71e31f X-MS-Exchange-CrossTenant-AuthSource: BN8PR13MB2611.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2020 14:45:23.1075 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 22f88e9d-ae0d-4ed9-b984-cdc9be1529f1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T2UNpw5yppm+A3ckax2cio4w+PdEED+H4vCaYqTNd0a0GCIipgvL1nz0RN9o0HISA10kmK2ucFwSOlyaqnSDvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR13MB2689 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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.2 at phobos.denx.de X-Virus-Status: Clean All cpu cores within FU540-C000 having split I/D caches. Set the L1 cache feature bit using the i-cache-size or d-cache-size as one of the property from device tree indicating that L1 cache is present on the cpu core. => cpu detail 1: cpu@1 rv64imafdc ID = 1, freq = 999.100 MHz: L1 cache, MMU 2: cpu@2 rv64imafdc ID = 2, freq = 999.100 MHz: L1 cache, MMU 3: cpu@3 rv64imafdc ID = 3, freq = 999.100 MHz: L1 cache, MMU 4: cpu@4 rv64imafdc ID = 4, freq = 999.100 MHz: L1 cache, MMU Signed-off-by: Sagar Shrikant Kadam Reviewed-by: Pragnesh Patel Reviewed-by: Bin Meng --- drivers/cpu/riscv_cpu.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/cpu/riscv_cpu.c b/drivers/cpu/riscv_cpu.c index 112690f..100fe55 100644 --- a/drivers/cpu/riscv_cpu.c +++ b/drivers/cpu/riscv_cpu.c @@ -35,6 +35,8 @@ static int riscv_cpu_get_info(struct udevice *dev, struct cpu_info *info) int ret; struct clk clk; const char *mmu; + u32 i_cache_size; + u32 d_cache_size; /* First try getting the frequency from the assigned clock */ ret = clk_get_by_index(dev, 0, &clk); @@ -52,6 +54,16 @@ static int riscv_cpu_get_info(struct udevice *dev, struct cpu_info *info) if (mmu) info->features |= BIT(CPU_FEAT_MMU); + /* check if I cache is present */ + ret = dev_read_u32(dev, "i-cache-size", &i_cache_size); + if (ret) + /* if not found check if d-cache is present */ + ret = dev_read_u32(dev, "d-cache-size", &d_cache_size); + + /* if either I or D cache is present set L1 cache feature */ + if (!ret) + info->features |= BIT(CPU_FEAT_L1_CACHE); + return 0; }