[v3,1/2] dt-bindings: timer: thead,c900-aclint-mtimer: separate mtime and mtimecmp regs
Message ID | IA1PR20MB4953B8AC5CB8F8165A09D118BBB7A@IA1PR20MB4953.namprd20.prod.outlook.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp305970vqn; Thu, 16 Nov 2023 21:07:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IEe1lAoQBa1CypvaZi/eQE0qNASwZCqE5KZVN73fpXSLiyeBy5IQNJh1e7mWoHbOTpohGcQ X-Received: by 2002:a05:6a00:139e:b0:690:c887:8cd8 with SMTP id t30-20020a056a00139e00b00690c8878cd8mr18769215pfg.32.1700197644578; Thu, 16 Nov 2023 21:07:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1700197644; cv=pass; d=google.com; s=arc-20160816; b=cfv2ATAzHrmDUI90A1p7XGW/4LjX628qL8tBa9b/9U3/smiVIZaiRyKcVaKlaZXgyw AXWE8CbNCR90qUP+Sp5eAxiI0A1aKOTy7PLmOPkYiD9P/+7Fpx+DnZgQpDdB9YhgcmRT ePukkmHlKV7ys9rOI1IibYBE2g55tt7hN8LN+L84oOEQQl+XSaw6RqGIpUtV7yoSYZXJ QsmjI9h2shisSc5IxMbrEIxQ+RHtMYOa9zzDlrCzizVpYWZP003bdvEaHKxPm5rHbPZA kmtStKaxxUnl1kYYm9714VkotkZGNBqbeH4fNc8lyPBR7Vjs5kpGOtXpcqDWCu8Y0ONO 4cYQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RVVok41ntW4AZpNWiDwxqA7+HHoXTigliRoPhyWxEJg=; fh=9Yrk4LrBxq0xtkQZyHcHOldQKWX8lfaoH2na0KclzjQ=; b=Dmz608HBukajWDISB0snrSfyUA0IXeBL3gioCaJqP95n0S/zD7df4ZovNzTbAJDjm5 Bp1PxkpnvjxXPADkZGgeapkAR5ke5ht+vWOy6wvS/uq9WH2+2/1Hku1wMu4pUnPS8AXx Yt+vGgUKFM33JUEyb5wdkoDV5h5jEQSIy3Ypx85F2M+3Przhf1ZlLjbZvLcNlq5dpLSY 1Y1TOxgq+GpMp8Ytw+zHeEGBlrrltGgcSSTY2urFVOiEsSvQ5QGEUHoWc8XThDM84BPT jZ5TOyEH1lcB6/pUjMKnoP1Fa/O9lv5nQcFOpHL3o5ufymsX6S/NpCJ9SlnIYAWnF3K1 rw+Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@outlook.com header.s=selector1 header.b="IG/LxlAZ"; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id b7-20020a056a000cc700b006901387b0b3si1194119pfv.9.2023.11.16.21.07.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Nov 2023 21:07:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@outlook.com header.s=selector1 header.b="IG/LxlAZ"; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id E034180B232F; Thu, 16 Nov 2023 21:07:23 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344874AbjKQFHR (ORCPT <rfc822;jaysivo@gmail.com> + 30 others); Fri, 17 Nov 2023 00:07:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229901AbjKQFHQ (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 17 Nov 2023 00:07:16 -0500 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2077.outbound.protection.outlook.com [40.92.18.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C194F1A1; Thu, 16 Nov 2023 21:07:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U6yPF12qnAAecX1IcPh273//ayW0mHU/DrtWZ53JFUgqpqcVsfpgbKRmSC2ed+6fwIxiPklCL+FzJqKI1GbYMJbTMyrfUHioqtnxM/mroYLrEsawRTf+mvaBu+rd5sF+Kqg1ZLvOHtA8jRk/uvBAylqUKaSxbcItX7jH8CvIlzCWJuJJdqpdT/9tB6ySr6X2pv+iWI/CoxgX/Qtl51p0YuM6AL5amNR7XZKkyr3TosVtRmzeY1dUATV4q04qWTthRGex7RvtarY2KrhvxzCAZE7CLAlD/Bak843sIwjliLoDlokQBC3ToTATM82usQ4kqezETYOdksDxCTXokY/z0A== 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=RVVok41ntW4AZpNWiDwxqA7+HHoXTigliRoPhyWxEJg=; b=Y6hdiVUwVnMOr8Py4JNG4Xi52zu6BMCtmESTs858ExVNLi1Cr98kVeuhnyQAULppLtrRgViTg7Lb7sOLu62FbVQlrILedz2D9V/IbW8iokvM06wOcjE3PoEFIA5WMzx/hmFr74cnetdg4d9WVUzRvPORZJ+lg3rygfuMl1VWv2PnbSsplg1T1sHURVY87J4Mny0uo9v4Y2Vy/PhKwoM7MfOMmen7VRfmN1sjvWWd2+HkJMEcpif40d2s0z7WLEVDoRYOdBC6Zw2xAqFLDoEAK7yeh1t+DIbGWG4utgA7qYgeIMXZA3N2b1UtnO1nK7gtff8g+bYNsmurFKYLq3+T3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RVVok41ntW4AZpNWiDwxqA7+HHoXTigliRoPhyWxEJg=; b=IG/LxlAZzp0okLaq9TlF6ysz2BcRoWfFyAPaA1cKSPOXQhhz4j0YkCPfwvUiWMpnfRUh5GxfR8n63VJNdZGQYUcDII0SUvskjAMUiJmkW/eZWMPEUJKhFqeAh3S9eF5QX5Rk5f0gd73DqanwMUSoIKq3nFqIPxpnndwWIsc1KrkjeX16R38RrptQ7+0k0RPXUwDfnkcAOwqll+iq1hD0Lgi4QUxiLhYZpY/Y+kWY85IB/xB0lG0TgODvTrvRgpMAvmfFuJ+hbIeHMaKIFFYQfhPWIYmlo341Msszca7sBRVnk7Y8wTR9oidfEDYm1gxBiU1tM3o42qHdo+gYATv+Ew== Received: from IA1PR20MB4953.namprd20.prod.outlook.com (2603:10b6:208:3af::19) by PH8PR20MB6394.namprd20.prod.outlook.com (2603:10b6:510:25e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov 2023 05:07:10 +0000 Received: from IA1PR20MB4953.namprd20.prod.outlook.com ([fe80::55b:c350:980:ad8]) by IA1PR20MB4953.namprd20.prod.outlook.com ([fe80::55b:c350:980:ad8%6]) with mapi id 15.20.6977.029; Fri, 17 Nov 2023 05:07:10 +0000 From: Inochi Amaoto <inochiama@outlook.com> To: Daniel Lezcano <daniel.lezcano@linaro.org>, Thomas Gleixner <tglx@linutronix.de>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Inochi Amaoto <inochiama@outlook.com>, Chen Wang <unicorn_wang@outlook.com> Cc: Guo Ren <guoren@kernel.org>, Jisheng Zhang <jszhang@kernel.org>, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH v3 1/2] dt-bindings: timer: thead,c900-aclint-mtimer: separate mtime and mtimecmp regs Date: Fri, 17 Nov 2023 13:07:51 +0800 Message-ID: <IA1PR20MB4953B8AC5CB8F8165A09D118BBB7A@IA1PR20MB4953.namprd20.prod.outlook.com> X-Mailer: git-send-email 2.42.1 In-Reply-To: <IA1PR20MB49533488308F7317C28AA6BDBBB7A@IA1PR20MB4953.namprd20.prod.outlook.com> References: <IA1PR20MB49533488308F7317C28AA6BDBBB7A@IA1PR20MB4953.namprd20.prod.outlook.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-TMN: [CtkaZVH3sgQA6kp0ljxE9g1cmBANVTPY2+exiuNkXRg=] X-ClientProxiedBy: TYWPR01CA0005.jpnprd01.prod.outlook.com (2603:1096:400:a9::10) To IA1PR20MB4953.namprd20.prod.outlook.com (2603:10b6:208:3af::19) X-Microsoft-Original-Message-ID: <20231117050753.870596-1-inochiama@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR20MB4953:EE_|PH8PR20MB6394:EE_ X-MS-Office365-Filtering-Correlation-Id: 391c29d7-642f-495e-27e7-08dbe72b0d58 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cauMbzfeIX0Gxr19si52vklWp0FTiSsVwCEBpavYZzXf8crCBWtkVYlDsRHzxkraO2uJq2JIMQfz3DpiY+vcPinSryq3E1Cuf8sQ2llfrjsAh4jQ48u3cdsF3tiQplUXEbVVM/JTbC534A9oFbDbrMLEjpqanT/N/jtgFWR7YjPmNvlW6GkbSsVFpYQpZh8pdJDEuRY0vKzHXp49xJ7wzGLvAeyERThgt/ekODwsP3wPr/IBlaloci8lNhCWChz9wTkoR9hXT49TN8hgH94dWGdABEPAa3bi4uUnDVNh4DTxjJI//PLhcIfjnTfB+fqLDsjqBWTqRPHp0sBnEcU6qBcGcnPrGxlptuNcCTy2z17/ZR8J1QJyJRQvqY9T9sRnGde56yUgWPHDfhld7hlyHpS8YEqZJa3OsMN/pALCuM2SNDoDzv93MAMKzw880nggNvDTTe7u0UOQXcZLgo4of+O52Q9TNyagMKU+6C1EBgJ9/u6af+Y2sqdiDeXF0a9hYI2Th1ZPpWlC1VFT2/8Iiw4sWtTMo9lKRNrYB+pwcC69r9c6oBs5IghVxLkA+gtFbR+tUzhNHSTHKtsecrQRiYSwBf7g/Quin8kba1vmoiUuASK/Y6pJE/qdjj/n4IHJiyNaQxZjpRJXO1leieN+MJ3Z93Gtp00obxVRphBn5TE= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /tHDQ8BMl/S0dNoHBy+mW5ht/MFRLhvMPWavItbcJZuYKCKnGE0dlFV90djRVAaaZeMAs9RN+2nceyqrGmNMfJPgXfnlje3wLZkUA4kkb01awwwGqp9HyVQuHBEp0C2vck0mn6RCpBbAxCNE/61iTGDnP+EDEcvdl34GELs53QFMovHtS22TiOyVqWENbmU0zOJrs5dCfkPQQCW7fm0JOXpE8kJCPD5Xurv8SfnXOru7qS7zF5+9YCd9TXnl7w64K3AbRFssOTAc6Y/NZuvCwSSOvS/xWoWdC0oJDeTbAQSIc1den0KKtB/6NlT2CcpYEcle+sWM6Wrt0MrFI8K9Pv7OFgF9qRB2VUHo5EnDoClV6kyR/zs3ny8JCMeg0QtMJy8e3P2U4cXiAs2Pzn3ycDw/Q5pZpcjHQuY9FtFkGsPnniovZIZtWs8JPM/tQq2oV+Ck1cFEb4L/2m+w4pi3qYRHwE7NvAlsZ35AC8vyL3ZqXbL4rNdQUnYtrKbOPdKxBVCkAEXXQwrYiZc9yCC/iWTKRfw7AlMb0lkfRpbreBGmiWHl31Nxt4TuGeA4gWJnadtjoFC7T0O1ES7H9P+pCtiI2YNMjBWlO30Op3FFfx5VIO1XTxZI8OS6aGHQ2qJRoYXE4dITFGi3Id7kRC/FSaO3ojVQs9vhC5po3G6R3E12PLK6Sxs9B0l2caBfakjKu+Zaa5EYL+qGhZNTe8bt8BpZBjIFrA0fhKwbnnwKqwvj9Kfr4LBeUIymuMaae33IGBq6X1lPyVRhV2cY+e0ugnMguLeHkvo/mgdDiYpKE1CW/yfyWPJmKosEvTBslVc41bltO5/maQQX0cOWyDwRjOWGuLxWUbNfIGJ0PaHSrf5tTmfp3KjpIJyh9i7Y3u4FfaOzOSwHIQhkTnX7U6pC1H3JJ8bHS0jb4qauDa2SBzX2GB3IBE7AEG5HQZdVoQY6da6XQ534DiEuDJE/r/KJ+gNkIe9eBuzVRD17Q6Rt31PZpPb73xKZ/Hs5vFR1vPv8wXMJFAW3D3mr6ykhsBrFILWXAE5n1+TSqdKC4Y3bttObeJL6yTxqWg2SjUz4PLhnYwCFgeKJaca+h869ohRsI5D6bkuxcEacUYVQwDZ/3Zy5I7hs5wZotYpmTh3NRxzfiEpHtyLO42vT2dIPY1pvq4GnSz8gsGlEUtkmKdXevU194NIjmmNBdVKUYPFFLPx1v8DM9+L4MiO5b2JTTQhzNKhMT+ADDn3Plqsqg5kz60U= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 391c29d7-642f-495e-27e7-08dbe72b0d58 X-MS-Exchange-CrossTenant-AuthSource: IA1PR20MB4953.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 05:07:09.9184 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR20MB6394 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 16 Nov 2023 21:07:23 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782786445308083676 X-GMAIL-MSGID: 1782786445308083676 |
Series |
Change the sg2042 timer layout to fit aclint format
|
|
Commit Message
Inochi Amaoto
Nov. 17, 2023, 5:07 a.m. UTC
The timer registers of aclint don't follow the clint layout and can
be mapped on any different offset. As sg2042 uses separated timer
and mswi for its clint, it should follow the aclint spec and have
separated registers.
The previous patch introduced a new type of T-HEAD aclint timer which
has clint timer layout. Although it has the clint timer layout, it
should follow the aclint spec and uses the separated mtime and mtimecmp
regs. So a ABI change is needed to make the timer fit the aclint spec.
To make T-HEAD aclint timer more closer to the aclint spec, use
regs-names to represent the mtimecmp register, which can avoid hack
for unsupport mtime register of T-HEAD aclint timer.
Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Fixes: 4734449f7311 ("dt-bindings: timer: Add Sophgo sg2042 CLINT timer")
Link: https://lists.infradead.org/pipermail/opensbi/2023-October/005693.html
Link: https://github.com/riscv/riscv-aclint/blob/main/riscv-aclint.adoc
---
.../bindings/timer/thead,c900-aclint-mtimer.yaml | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
--
2.42.1
Comments
On 17/11/2023 06:07, Inochi Amaoto wrote: > The timer registers of aclint don't follow the clint layout and can > be mapped on any different offset. As sg2042 uses separated timer > and mswi for its clint, it should follow the aclint spec and have > separated registers. > > The previous patch introduced a new type of T-HEAD aclint timer which > has clint timer layout. Although it has the clint timer layout, it > should follow the aclint spec and uses the separated mtime and mtimecmp > regs. So a ABI change is needed to make the timer fit the aclint spec. > > To make T-HEAD aclint timer more closer to the aclint spec, use > regs-names to represent the mtimecmp register, which can avoid hack > for unsupport mtime register of T-HEAD aclint timer. > I don't understand this reasoning. You had one entry, you still have one entry. Adding reg-names (not regs-names) does not change it. Best regards, Krzysztof
> >On 17/11/2023 06:07, Inochi Amaoto wrote: >> The timer registers of aclint don't follow the clint layout and can >> be mapped on any different offset. As sg2042 uses separated timer >> and mswi for its clint, it should follow the aclint spec and have >> separated registers. >> >> The previous patch introduced a new type of T-HEAD aclint timer which >> has clint timer layout. Although it has the clint timer layout, it >> should follow the aclint spec and uses the separated mtime and mtimecmp >> regs. So a ABI change is needed to make the timer fit the aclint spec. >> >> To make T-HEAD aclint timer more closer to the aclint spec, use >> regs-names to represent the mtimecmp register, which can avoid hack >> for unsupport mtime register of T-HEAD aclint timer. >> > >I don't understand this reasoning. You had one entry, you still have one >entry. Adding reg-names (not regs-names) does not change it. > If no "reg-names", all the register of ACLINT should be defined. However, T-HEAD aclint timer of sg2042 only supports mtimecmp register. If no extra prompt is provided for the SBI, it will fail to recognize aclint timer registers when parsing the aclint node with one reg entry. There is another way to avoid this by using an empty entry to identify unsupported mtime, but Conor have already rejected this. See [1]. Link: https://lore.kernel.org/all/20231114-skedaddle-precinct-66c8897227bb@squawk/ [1]
On Fri, Nov 17, 2023 at 08:30:21PM +0800, Inochi Amaoto wrote: > > > >On 17/11/2023 06:07, Inochi Amaoto wrote: > >> The timer registers of aclint don't follow the clint layout and can > >> be mapped on any different offset. As sg2042 uses separated timer > >> and mswi for its clint, it should follow the aclint spec and have > >> separated registers. > >> > >> The previous patch introduced a new type of T-HEAD aclint timer which > >> has clint timer layout. Although it has the clint timer layout, it > >> should follow the aclint spec and uses the separated mtime and mtimecmp > >> regs. So a ABI change is needed to make the timer fit the aclint spec. > >> > >> To make T-HEAD aclint timer more closer to the aclint spec, use > >> regs-names to represent the mtimecmp register, which can avoid hack > >> for unsupport mtime register of T-HEAD aclint timer. > >> > > > >I don't understand this reasoning. You had one entry, you still have one > >entry. Adding reg-names (not regs-names) does not change it. > > > > If no "reg-names", all the register of ACLINT should be defined. However, > T-HEAD aclint timer of sg2042 only supports mtimecmp register. If no extra > prompt is provided for the SBI, it will fail to recognize aclint timer > registers when parsing the aclint node with one reg entry. > > There is another way to avoid this by using an empty entry to identify > unsupported mtime, but Conor have already rejected this. See [1]. > > Link: https://lore.kernel.org/all/20231114-skedaddle-precinct-66c8897227bb@squawk/ [1] Perhaps you misunderstood my suggestion. I was looking for _both_ registers to be defined in the binding as well as adding reg-names as a required property. Doing what you have here might work for your use case, but does not make sense from a bindings point of view as there is no way to describe the mtime register, should it exist in another SoC. Cheers, Conor
> >On Fri, Nov 17, 2023 at 08:30:21PM +0800, Inochi Amaoto wrote: >>> >>> On 17/11/2023 06:07, Inochi Amaoto wrote: >>>> The timer registers of aclint don't follow the clint layout and can >>>> be mapped on any different offset. As sg2042 uses separated timer >>>> and mswi for its clint, it should follow the aclint spec and have >>>> separated registers. >>>> >>>> The previous patch introduced a new type of T-HEAD aclint timer which >>>> has clint timer layout. Although it has the clint timer layout, it >>>> should follow the aclint spec and uses the separated mtime and mtimecmp >>>> regs. So a ABI change is needed to make the timer fit the aclint spec. >>>> >>>> To make T-HEAD aclint timer more closer to the aclint spec, use >>>> regs-names to represent the mtimecmp register, which can avoid hack >>>> for unsupport mtime register of T-HEAD aclint timer. >>>> >>> >>> I don't understand this reasoning. You had one entry, you still have one >>> entry. Adding reg-names (not regs-names) does not change it. >>> >> >> If no "reg-names", all the register of ACLINT should be defined. However, >> T-HEAD aclint timer of sg2042 only supports mtimecmp register. If no extra >> prompt is provided for the SBI, it will fail to recognize aclint timer >> registers when parsing the aclint node with one reg entry. >> >> There is another way to avoid this by using an empty entry to identify >> unsupported mtime, but Conor have already rejected this. See [1]. >> >> Link: https://lore.kernel.org/all/20231114-skedaddle-precinct-66c8897227bb@squawk/ [1] > >Perhaps you misunderstood my suggestion. I was looking for _both_ >registers to be defined in the binding as well as adding reg-names as a >required property. Doing what you have here might work for your use >case, but does not make sense from a bindings point of view as there is >no way to describe the mtime register, should it exist in another SoC. > Thanks for your clarification. If I understand you correctly, the binding should have all registers that ACLINT has. But for specific use case, it should only contain supported registers and omit unsupported. Please correct me if I misunderstood. Thanks. >Cheers, >Conor >
> Thanks for your clarification. If I understand you correctly, the binding > should have all registers that ACLINT has. But for specific use case, > it should only contain supported registers and omit unsupported. Please > correct me if I misunderstood. Thanks. Yes.
>> Thanks for your clarification. If I understand you correctly, the binding >> should have all registers that ACLINT has. But for specific use case, >> it should only contain supported registers and omit unsupported. Please >> correct me if I misunderstood. Thanks. > >Yes. > Thanks, I will prepare a new binding for this.
diff --git a/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml b/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml index fbd235650e52..2e92bcdeb423 100644 --- a/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml +++ b/Documentation/devicetree/bindings/timer/thead,c900-aclint-mtimer.yaml @@ -17,7 +17,12 @@ properties: - const: thead,c900-aclint-mtimer reg: - maxItems: 1 + items: + - description: MTIMECMP Registers + + reg-names: + items: + - const: mtimecmp interrupts-extended: minItems: 1 @@ -28,6 +33,7 @@ additionalProperties: false required: - compatible - reg + - reg-names - interrupts-extended examples: @@ -39,5 +45,6 @@ examples: <&cpu3intc 7>, <&cpu4intc 7>; reg = <0xac000000 0x00010000>; + reg-names = "mtimecmp"; }; ...