From: Rob Herring <robh@kernel.org>
To: Fenglin Wu <quic_fenglinw@quicinc.com>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
sboyd@kernel.org, Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>,
devicetree@vger.kernel.org, collinsd@codeaurora.org,
subbaram@codeaurora.org, tglx@linutronix.de, maz@kernel.org
Subject: Re: [PATCH v4 11/11] dt-bindings: convert qcom,spmi-pmic-arb binding to YAML format
Date: Tue, 21 Dec 2021 10:42:24 -0400 [thread overview]
Message-ID: <YcHn0MLuqvMHbmuO@robh.at.kernel.org> (raw)
In-Reply-To: <1640071211-31462-12-git-send-email-quic_fenglinw@quicinc.com>
On Tue, Dec 21, 2021 at 03:20:09PM +0800, Fenglin Wu wrote:
> Convert the SPMI PMIC arbiter documentation to JSON/yaml.
>
> Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com>
> ---
> .../bindings/spmi/qcom,spmi-pmic-arb.txt | 67 ----------
> .../bindings/spmi/qcom,spmi-pmic-arb.yaml | 146 +++++++++++++++++++++
> 2 files changed, 146 insertions(+), 67 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
> create mode 100644 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.yaml
>
> diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.yaml b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.yaml
> new file mode 100644
> index 0000000..df8cfb7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.yaml
> @@ -0,0 +1,146 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spmi/qcom,spmi-pmic-arb.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm SPMI PMIC Arbiter
> +
> +maintainers:
> + - Fenglin Wu <quic_fenglinw@quicinc.com>
> + - Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
> +
> +description: |
> + The SPMI PMIC Arbiter is found on Snapdragon chipsets. It is an SPMI
> + controller with wrapping arbitration logic to allow for multiple
> + on-chip devices to control a single SPMI master.
> +
> + The PMIC Arbiter can also act as an interrupt controller, providing
> + interrupts to slave devices.
> +
> + See Documentation/devicetree/bindings/spmi/spmi.yaml for the generic
> + SPMI controller binding requirements for child nodes.
> +
> +allOf:
> + - $ref: spmi.yaml#
> +
> +properties:
> + $nodename:
> + pattern: "^spmi@.*"
> +
> + compatible:
> + const: qcom,spmi-pmic-arb
> +
> + reg-names:
> + $ref: /schemas/types.yaml#/definitions/string-array
reg-names already has a type defined.
> + anyOf:
> + - minItems: 3
> + - maxItems: 3
> + - enum: ["core", "intr", "cnfg"]
> +
> + - minItems: 5
> + - maxItems: 5
> + - enum: ["core", "intr", "cnfg", "chnls", "obsrvr"]
I think you want something like this:
minItems: 3
items:
- const: core
- const: intr
- const: cnfg
- const: chnls
- const: obsrvr
> +
> + reg:
> + minItems: 3
> + maxItems: 5
> + description: |
> + Specifies base physical address and size of the registers in SPMI PMIC
> + Arbiter HW module, with the following order.
> + - SPMI PMIC arbiter core registers (core)
> + - SPMI PMIC arbiter interrupt controller registers (intr)
> + - SPMI PMIC arbiter configuration registers (cnfg)
> + - SPMI PMIC arbiter tx-channel per virtual slave registers (chnls)
> + - SPMI PMIC arbiter rx-channel per virtual slave registers (obsrvr).
> + Register for "chnls" and "obsrvr" are only applicable for PMIC arbiter
> + with HW version greater than V2.
> +
> + "#address-cells":
> + const: 2
> +
> + "#size-cells":
> + const: 0
> +
> + interrupts:
> + description: The summary interrupt for the PMIC Arb controller.
> + maxItems: 1
> +
> + interrupt-names:
> + const: periph_irq
> +
> + interrupt-controller: true
> +
> + "#interrupt-cells":
> + const: 4
> + description: |
> + Specifies the number of cells needed to encode any interrupt source.
> + The 1st cell is the slave ID for the requested interrupt, its valid
> + range is [0-15].
> + The 2nd cell is the peripheral ID for requested interrupt, its valid
> + range is [0-255].
> + The 3rd cell is the requested peripheral interrupt, its valid range
> + is [0-7].
> + The 4th cell is interrupt flags indicating level-sense information,
> + as defined in dt-bindings/interrupt-controller/irq.h
> +
> + qcom,ee:
> + description: the active Execution Environment identifier
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1, 2, 3, 4, 5]
> +
> + qcom,channel:
> + description: which of the PMIC Arbiter provided channels to use for accesses
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1, 2, 3, 4, 5]
> +
> +patternProperties:
> + "@[0-9a-f]$":
> + description: up to 16 child PMIC nodes
> + type: object
> +
> + properties:
> + reg:
> + items:
> + - minItems: 1
> + items:
> + - minimum: 0
> + maximum: 0xf
> + - enum: [ 0 ]
> + description:
> + 0 means user ID address. 1 is reserved for group ID
> + address.
> +
> + required:
> + - reg
All this should be covered by spmi.yaml
> +
> +required:
> + - compatible
> + - reg-names
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - qcom,ee
> + - qcom,channel
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + spmi@fc4cf000 {
> + compatible = "qcom,spmi-pmic-arb";
> + reg-names = "core", "intr", "cnfg";
> + reg = <0xfc4cf000 0x1000>,
> + <0xfc4cb000 0x1000>,
> + <0xfc4ca000 0x1000>;
> + interrupt-names = "periph_irq";
> + interrupts = <0 190 0>;
> + interrupt-controller;
> + #interrupt-cells = <4>;
> +
> + qcom,ee = <0>;
> + qcom,channel = <0>;
> +
> + #address-cells = <2>;
> + #size-cells = <0>;
> + };
> --
> 2.7.4
>
>
next prev parent reply other threads:[~2021-12-21 14:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-21 7:19 [PATCH v4 00/11] A bunch of fix and optimization patches in spmi-pmic-arb.c Fenglin Wu
2021-12-21 7:19 ` [PATCH v4 01/11] spmi: pmic-arb: add a print in cleanup_irq Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 02/11] spmi: pmic-arb: handle spurious interrupt Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 03/11] spmi: pmic-arb: do not ack and clear peripheral interrupts in cleanup_irq Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 04/11] spmi: pmic-arb: check apid against limits before calling irq handler Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 05/11] spmi: pmic-arb: add support to dispatch interrupt based on IRQ status Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 06/11] spmi: pmic-arb: correct duplicate APID to PPID mapping logic Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 07/11] spmi: pmic-arb: block access for invalid PMIC arbiter v5 SPMI writes Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 08/11] bindings: spmi: spmi-pmic-arb: mark interrupt properties as optional Fenglin Wu
2021-12-21 15:13 ` Rob Herring
2021-12-22 0:48 ` Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 09/11] spmi: pmic-arb: make interrupt support optional Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 10/11] spmi: pmic-arb: increase SPMI transaction timeout delay Fenglin Wu
2021-12-21 7:20 ` [PATCH v4 11/11] dt-bindings: convert qcom,spmi-pmic-arb binding to YAML format Fenglin Wu
2021-12-21 11:11 ` Rob Herring
2021-12-21 23:41 ` Fenglin Wu
2021-12-21 14:42 ` Rob Herring [this message]
2021-12-22 0:45 ` Fenglin Wu
2022-01-07 7:03 ` Fenglin Wu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YcHn0MLuqvMHbmuO@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=collinsd@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=quic_fenglinw@quicinc.com \
--cc=quic_subbaram@quicinc.com \
--cc=sboyd@kernel.org \
--cc=subbaram@codeaurora.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.