Message ID | 20230724223057.1208122-4-quic_eberman@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9010:0:b0:3e4:2afc:c1 with SMTP id l16csp2147940vqg; Mon, 24 Jul 2023 17:48:39 -0700 (PDT) X-Google-Smtp-Source: APBJJlGSWsh2y3E93yg50ZYV65x1R/S5KCve7OafbO/iDJG2iNqkMce0p2e4czgRGQq4T8Q0sVez X-Received: by 2002:a17:907:9625:b0:993:f664:ce25 with SMTP id gb37-20020a170907962500b00993f664ce25mr1006231ejc.19.1690246118758; Mon, 24 Jul 2023 17:48:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690246118; cv=none; d=google.com; s=arc-20160816; b=xjiDN5HhH040r3ejiVq4DyUhM6YpMAnvUNDeBjYg0r9rBfUahbnAHw+arSReOREw1g 2DObLblvvGOcrv67F4qeUWABFEZHi/hdOwBEB5UP2Y0XsEzpUbXwkbB0JaT4DVPOlLxo gUHfEfho/IB9TTx2zj8NYjkRrc/5j0D1q+Plmtc8+w+F59pIXop1zh0g7gItzygexVsa vhI18rWblgxS96UxfnWN6ndYNbjC8JOomOe94OjVDTYjkjbnU8q0X0/R2AiSKCQa29MM +bkq5Fm1SiHhmFzpGuPLe/61SaUTlwnd6eaw3/IjmPmn9m9+ET0NAVDGhNjt+Cc+HghO lq/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0RiqDvAsRoz+wat/BUC+Un9PsqnWtL24OIyCvnctV6A=; fh=Wq7/RrAzg7plO8nCfcGB/F1Jc7X55ArYFwKApxRIU/4=; b=Wk7UIcIgExU4ARKs9vZykdJFv9eroG09iN8NTyiu9q+f9ymr3+rE1qqi/1Rx+1TMWP 5eMwkmDlUxcmwFp8BF4ZtDJjtU365hlGPQWGRgGgK+4zcT0vETGLKQFKGg67fMgDef7B fwq29Iuf884IHPP+RsgDKXC4QOTYH+SEKDcFw995ldYtBvjAZgWVkx/xEDZrh619aT0p 6EE+O+i/KA5S90hf6Y1L1a5TxPeYXF0sAZ69AchKgmLc3l6qofLaEM2y06HFA3W7UZq9 mb49WMRzS0fHh8Q3zUgcVK+AbMBDQxougPkwyr2UIywxkRKkQW/wZO4lCjdtOfG9jG1j iTug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=jSwYOX3N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v1-20020a1709064e8100b00993689daad1si7410772eju.116.2023.07.24.17.48.15; Mon, 24 Jul 2023 17:48:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=jSwYOX3N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231389AbjGXWcD (ORCPT <rfc822;kautuk.consul.80@gmail.com> + 99 others); Mon, 24 Jul 2023 18:32:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230362AbjGXWb6 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 24 Jul 2023 18:31:58 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD6F01BD9; Mon, 24 Jul 2023 15:31:40 -0700 (PDT) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36OKj0sR025253; Mon, 24 Jul 2023 22:31:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=0RiqDvAsRoz+wat/BUC+Un9PsqnWtL24OIyCvnctV6A=; b=jSwYOX3NDyEvudpBV/16k7U/XSFzhxw9l4D1MRLontm/ufK26H3VGUP4LzOzYmxzhRYk IQlihyVSfxWt+nC0rm6pOyGvIUS4CYmO05DBnGv07ifMqhPzb2igH9s2fpNLSB1d08RZ 2PUjxHVVLH3La7D0aX0CGN0TQx9I6dg3AhJCRh0MzQlCjP9TzAtuTDmNM+LyRP23t3fn BqxjCQQ9WRMgSJNkX3AT+SBL3/enTVlIMY9PIo5wgshBKMQfxrNiwFn55FTP3vZhmZiX ekaXlgGi9ZnbTBYmz6XDWnsmKBJvJCQCvk0hewBY5+/xuE/hDCxIbAoi/tsSmkqhCC8k jg== Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3s1u3t92my-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Jul 2023 22:31:30 +0000 Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36OMVTga000964 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Jul 2023 22:31:29 GMT Received: from hu-eberman-lv.qualcomm.com (10.49.16.6) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Mon, 24 Jul 2023 15:31:28 -0700 From: Elliot Berman <quic_eberman@quicinc.com> To: Mark Rutland <mark.rutland@arm.com>, Lorenzo Pieralisi <lpieralisi@kernel.org>, Sebastian Reichel <sre@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Elliot Berman <quic_eberman@quicinc.com> CC: <linux-arm-kernel@lists.infradead.org>, <linux-pm@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>, <kernel@quicinc.com>, "Satya Durga Srinivasu Prabhala" <quic_satyap@quicinc.com>, Melody Olvera <quic_molvera@quicinc.com>, Prasad Sodagudi <quic_psodagud@quicinc.com> Subject: [RFC PATCH 3/4] dt-bindings: power: reset: Document arm,psci-vendor-reset Date: Mon, 24 Jul 2023 15:30:53 -0700 Message-ID: <20230724223057.1208122-4-quic_eberman@quicinc.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230724223057.1208122-1-quic_eberman@quicinc.com> References: <20230724223057.1208122-1-quic_eberman@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: mRLoo05zWGFRJvpu-xQK8I2LCYpYz64R X-Proofpoint-ORIG-GUID: mRLoo05zWGFRJvpu-xQK8I2LCYpYz64R X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_18,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0 mlxlogscore=999 clxscore=1015 impostorscore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307240198 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772348794189129194 X-GMAIL-MSGID: 1772351514063103345 |
Series |
Implement a PSCI SYSTEM_RESET2 reboot-mode driver
|
|
Commit Message
Elliot Berman
July 24, 2023, 10:30 p.m. UTC
Add devicetree bindings for using PSCI SYSTEM_RESET2 with vendor reset types.
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
---
.../power/reset/arm,psci-vendor-reset.yaml | 35 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml
Comments
On 7/25/2023 4:00 AM, Elliot Berman wrote: > Add devicetree bindings for using PSCI SYSTEM_RESET2 with vendor reset types. > > Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> > --- > .../power/reset/arm,psci-vendor-reset.yaml | 35 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 36 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > > diff --git a/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > new file mode 100644 > index 000000000000..18b0b8c167a1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > @@ -0,0 +1,35 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2023 Qualcomm Innovation Center, Inc. All Rights Reserved. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/power/reset/arm,psci-vendor-reset.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: PSCI SYSTEM_RESET2 Vendor Resets > + > +maintainers: > + - Elliot Berman <quic_eberman@quicinc.com> > + > +description: | > + PSCI SYSTEM_RESET2 supports vendor-defined reset types. This describes > + the conversion of reboot modes to the reset types. > + > +properties: > + compatible: > + const: arm,psci-vendor-reset > + > +allOf: > + - $ref: reboot-mode.yaml# > + > +additionalProperties: false > + > +examples: > + - | > + firmware { > + psci-vendor-resets { > + compatible = "arm,psci-vendor-reset"; > + reboot-normal = <0x100>; > + reboot-bootloader = <0x101>; > + reboot-fastboot = <0x102>; Should it start with mode-* ? -Mukesh > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index d516295978a4..2da4c5f1917b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -16982,6 +16982,7 @@ M: Mark Rutland <mark.rutland@arm.com> > M: Lorenzo Pieralisi <lpieralisi@kernel.org> > L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) > S: Maintained > +F: Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > F: drivers/firmware/psci/ > F: include/linux/psci.h > F: include/uapi/linux/psci.h
On 7/24/2023 4:23 PM, Rob Herring wrote: > On Mon, Jul 24, 2023 at 03:30:53PM -0700, Elliot Berman wrote: >> Add devicetree bindings for using PSCI SYSTEM_RESET2 with vendor reset types. >> >> Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> >> --- >> .../power/reset/arm,psci-vendor-reset.yaml | 35 +++++++++++++++++++ >> MAINTAINERS | 1 + >> 2 files changed, 36 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >> >> diff --git a/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >> new file mode 100644 >> index 000000000000..18b0b8c167a1 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >> @@ -0,0 +1,35 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +# Copyright 2023 Qualcomm Innovation Center, Inc. All Rights Reserved. >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/power/reset/arm,psci-vendor-reset.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: PSCI SYSTEM_RESET2 Vendor Resets >> + >> +maintainers: >> + - Elliot Berman <quic_eberman@quicinc.com> >> + >> +description: | >> + PSCI SYSTEM_RESET2 supports vendor-defined reset types. This describes >> + the conversion of reboot modes to the reset types. >> + >> +properties: >> + compatible: >> + const: arm,psci-vendor-reset >> + >> +allOf: >> + - $ref: reboot-mode.yaml# >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + firmware { >> + psci-vendor-resets { >> + compatible = "arm,psci-vendor-reset"; > > We already have a node for PSCI, we don't need a second one. You can > have a separate driver without a separate node. > I could also place the reboot-mode functionality straight into drivers/firwmare/psci/? I thought that might be more controversial than separate driver, but maybe not? Mark/Loreno, do you have any concerns to add the reboot-mode driver functionality directly in drivers/firmware/psci/psci.c? Sebastian, do you have any concerns to have this reboot-mode driver outside drivers/power/reset/? >> + reboot-normal = <0x100>; > > Wouldn't 'normal' be the normal PSCI reset? > Ah, right. I had my head buried in the reboot-mode code when creating the example. I can remove from the example. >> + reboot-bootloader = <0x101>; >> + reboot-fastboot = <0x102>; >> + }; >> + }; >> diff --git a/MAINTAINERS b/MAINTAINERS >> index d516295978a4..2da4c5f1917b 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -16982,6 +16982,7 @@ M: Mark Rutland <mark.rutland@arm.com> >> M: Lorenzo Pieralisi <lpieralisi@kernel.org> >> L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) >> S: Maintained >> +F: Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >> F: drivers/firmware/psci/ >> F: include/linux/psci.h >> F: include/uapi/linux/psci.h >> -- >> 2.41.0 >>
On 7/25/2023 11:01 AM, Elliot Berman wrote: > > > On 7/24/2023 4:23 PM, Rob Herring wrote: >> On Mon, Jul 24, 2023 at 03:30:53PM -0700, Elliot Berman wrote: >>> Add devicetree bindings for using PSCI SYSTEM_RESET2 with vendor >>> reset types. >>> >>> Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> >>> --- >>> .../power/reset/arm,psci-vendor-reset.yaml | 35 +++++++++++++++++++ >>> MAINTAINERS | 1 + >>> 2 files changed, 36 insertions(+) >>> create mode 100644 >>> Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>> >>> diff --git >>> a/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>> new file mode 100644 >>> index 000000000000..18b0b8c167a1 >>> --- /dev/null >>> +++ >>> b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>> @@ -0,0 +1,35 @@ >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>> +# Copyright 2023 Qualcomm Innovation Center, Inc. All Rights Reserved. >>> +%YAML 1.2 >>> +--- >>> +$id: >>> http://devicetree.org/schemas/power/reset/arm,psci-vendor-reset.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: PSCI SYSTEM_RESET2 Vendor Resets >>> + >>> +maintainers: >>> + - Elliot Berman <quic_eberman@quicinc.com> >>> + >>> +description: | >>> + PSCI SYSTEM_RESET2 supports vendor-defined reset types. This >>> describes >>> + the conversion of reboot modes to the reset types. >>> + >>> +properties: >>> + compatible: >>> + const: arm,psci-vendor-reset >>> + >>> +allOf: >>> + - $ref: reboot-mode.yaml# >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + firmware { >>> + psci-vendor-resets { >>> + compatible = "arm,psci-vendor-reset"; >> >> We already have a node for PSCI, we don't need a second one. You can >> have a separate driver without a separate node. >> > > I could also place the reboot-mode functionality straight into > drivers/firwmare/psci/? I thought that might be more controversial than > separate driver, but maybe not? > > Mark/Loreno, do you have any concerns to add the reboot-mode driver > functionality directly in drivers/firmware/psci/psci.c? > > Sebastian, do you have any concerns to have this reboot-mode driver > outside drivers/power/reset/? > Sebastian, please disregard this question. Mukesh pointed out that reboot-mode framework isn't the right option here since this driver does the actual reset and, as I understand, reboot-mode isn't intended to do actual reset. I'm going to implement something similar to what reboot-mode framework does but register against the restart_handler_list instead of reboot_notifier_list. >>> + reboot-normal = <0x100>; >> >> Wouldn't 'normal' be the normal PSCI reset? >> > > Ah, right. I had my head buried in the reboot-mode code when creating > the example. I can remove from the example. > >>> + reboot-bootloader = <0x101>; >>> + reboot-fastboot = <0x102>; >>> + }; >>> + }; >>> diff --git a/MAINTAINERS b/MAINTAINERS >>> index d516295978a4..2da4c5f1917b 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -16982,6 +16982,7 @@ M: Mark Rutland <mark.rutland@arm.com> >>> M: Lorenzo Pieralisi <lpieralisi@kernel.org> >>> L: linux-arm-kernel@lists.infradead.org (moderated for >>> non-subscribers) >>> S: Maintained >>> +F: >>> Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>> F: drivers/firmware/psci/ >>> F: include/linux/psci.h >>> F: include/uapi/linux/psci.h >>> -- >>> 2.41.0 >>>
On Tue, Jul 25, 2023 at 12:01 PM Elliot Berman <quic_eberman@quicinc.com> wrote: > > > > On 7/24/2023 4:23 PM, Rob Herring wrote: > > On Mon, Jul 24, 2023 at 03:30:53PM -0700, Elliot Berman wrote: > >> Add devicetree bindings for using PSCI SYSTEM_RESET2 with vendor reset types. > >> > >> Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> > >> --- > >> .../power/reset/arm,psci-vendor-reset.yaml | 35 +++++++++++++++++++ > >> MAINTAINERS | 1 + > >> 2 files changed, 36 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > >> > >> diff --git a/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > >> new file mode 100644 > >> index 000000000000..18b0b8c167a1 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml > >> @@ -0,0 +1,35 @@ > >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > >> +# Copyright 2023 Qualcomm Innovation Center, Inc. All Rights Reserved. > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/power/reset/arm,psci-vendor-reset.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: PSCI SYSTEM_RESET2 Vendor Resets > >> + > >> +maintainers: > >> + - Elliot Berman <quic_eberman@quicinc.com> > >> + > >> +description: | > >> + PSCI SYSTEM_RESET2 supports vendor-defined reset types. This describes > >> + the conversion of reboot modes to the reset types. > >> + > >> +properties: > >> + compatible: > >> + const: arm,psci-vendor-reset > >> + > >> +allOf: > >> + - $ref: reboot-mode.yaml# > >> + > >> +additionalProperties: false > >> + > >> +examples: > >> + - | > >> + firmware { > >> + psci-vendor-resets { > >> + compatible = "arm,psci-vendor-reset"; > > > > We already have a node for PSCI, we don't need a second one. You can > > have a separate driver without a separate node. > > > > I could also place the reboot-mode functionality straight into > drivers/firwmare/psci/? I thought that might be more controversial than > separate driver, but maybe not? > > Mark/Loreno, do you have any concerns to add the reboot-mode driver > functionality directly in drivers/firmware/psci/psci.c? I'm talking about the binding. Why are you talking about driver design? They are independent. Rob
On 7/26/2023 6:45 AM, Rob Herring wrote: > On Tue, Jul 25, 2023 at 12:01 PM Elliot Berman <quic_eberman@quicinc.com> wrote: >> >> >> >> On 7/24/2023 4:23 PM, Rob Herring wrote: >>> On Mon, Jul 24, 2023 at 03:30:53PM -0700, Elliot Berman wrote: >>>> Add devicetree bindings for using PSCI SYSTEM_RESET2 with vendor reset types. >>>> >>>> Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> >>>> --- >>>> .../power/reset/arm,psci-vendor-reset.yaml | 35 +++++++++++++++++++ >>>> MAINTAINERS | 1 + >>>> 2 files changed, 36 insertions(+) >>>> create mode 100644 Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>>> >>>> diff --git a/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>>> new file mode 100644 >>>> index 000000000000..18b0b8c167a1 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml >>>> @@ -0,0 +1,35 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>> +# Copyright 2023 Qualcomm Innovation Center, Inc. All Rights Reserved. >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/power/reset/arm,psci-vendor-reset.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: PSCI SYSTEM_RESET2 Vendor Resets >>>> + >>>> +maintainers: >>>> + - Elliot Berman <quic_eberman@quicinc.com> >>>> + >>>> +description: | >>>> + PSCI SYSTEM_RESET2 supports vendor-defined reset types. This describes >>>> + the conversion of reboot modes to the reset types. >>>> + >>>> +properties: >>>> + compatible: >>>> + const: arm,psci-vendor-reset >>>> + >>>> +allOf: >>>> + - $ref: reboot-mode.yaml# >>>> + >>>> +additionalProperties: false >>>> + >>>> +examples: >>>> + - | >>>> + firmware { >>>> + psci-vendor-resets { >>>> + compatible = "arm,psci-vendor-reset"; >>> >>> We already have a node for PSCI, we don't need a second one. You can >>> have a separate driver without a separate node. >>> >> >> I could also place the reboot-mode functionality straight into >> drivers/firwmare/psci/? I thought that might be more controversial than >> separate driver, but maybe not? >> >> Mark/Loreno, do you have any concerns to add the reboot-mode driver >> functionality directly in drivers/firmware/psci/psci.c? > > I'm talking about the binding. Why are you talking about driver > design? They are independent. Apologies, I agree to make it part of the same node. I believe it requires some changes to PSCI driver to create/bind the vendor restart device. I wanted to see how Mark and Lorenzo wanted to incorporate the vendor resets into PSCI driver: maybe I don't even create a device/driver and simply incorporate the changes into PSCI driver directly.
diff --git a/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml new file mode 100644 index 000000000000..18b0b8c167a1 --- /dev/null +++ b/Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2023 Qualcomm Innovation Center, Inc. All Rights Reserved. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/reset/arm,psci-vendor-reset.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: PSCI SYSTEM_RESET2 Vendor Resets + +maintainers: + - Elliot Berman <quic_eberman@quicinc.com> + +description: | + PSCI SYSTEM_RESET2 supports vendor-defined reset types. This describes + the conversion of reboot modes to the reset types. + +properties: + compatible: + const: arm,psci-vendor-reset + +allOf: + - $ref: reboot-mode.yaml# + +additionalProperties: false + +examples: + - | + firmware { + psci-vendor-resets { + compatible = "arm,psci-vendor-reset"; + reboot-normal = <0x100>; + reboot-bootloader = <0x101>; + reboot-fastboot = <0x102>; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index d516295978a4..2da4c5f1917b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -16982,6 +16982,7 @@ M: Mark Rutland <mark.rutland@arm.com> M: Lorenzo Pieralisi <lpieralisi@kernel.org> L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained +F: Documentation/devicetree/bindings/power/reset/arm,psci-vendor-reset.yaml F: drivers/firmware/psci/ F: include/linux/psci.h F: include/uapi/linux/psci.h