On Tue, Nov 30, 2021 at 09:28:46AM +0000, Srinivas Kandagatla wrote: > Convert Qualcomm FastRPC bindings to yaml format, so that we could validate > dt-entries correctly and any future additions can go into yaml format. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > --- > > Changes since v2: > fixed typo in pil compatible string > added required properties for pil example node > > .../devicetree/bindings/misc/qcom,fastrpc.txt | 78 ------------- > .../bindings/misc/qcom,fastrpc.yaml | 104 ++++++++++++++++++ > 2 files changed, 104 insertions(+), 78 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.txt > create mode 100644 Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml > diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml > new file mode 100644 > index 000000000000..1840db08500c > --- /dev/null > +++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml > @@ -0,0 +1,104 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/misc/qcom,fastrpc.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Qualcomm Technologies, Inc. FastRPC Driver > + > +maintainers: > + - Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > + > +description: | > + This binding describes Qualcomm FastRPC an IPC (Inter-Processor Communication) > + mechanism that allows for clients to transparently make remote method > + invocations across DSP and APPS boundaries. This enables developers > + to offload tasks to the DSP and free up the application processor for > + other tasks. > + > +properties: > + compatible: > + const: qcom,fastrpc > + > + label: > + enum: > + - adsp > + - mdsp > + - sdsp > + - cdsp > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^cb@[0-9a-f]$": > + type: object > + description: | > + Compute context bank > + > + properties: > + compatible: > + const: qcom,fastrpc-compute-cb > + > + reg: > + maxItems: 1 > + description: Context Bank ID > + > + qcom,nsessions: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: How many sessions can share this context bank. > + Defaults to 1 when this property is not specified. default: 1 Is there a maximum? Or 2^32 is good? > + > + required: > + - compatible > + - reg > + > + additionalProperties: false > + > +required: > + - compatible > + - label > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + adsp { > + compatible = "qcom,msm8996-adsp-pil"; > + interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>, > + <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, > + <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, > + <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, > + <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; > + interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; > + clocks = <&xo_board>; > + clock-names = "xo"; > + memory-region = <&adsp_region>; > + qcom,smem-states = <&smp2p_adsp_out 0>; > + qcom,smem-state-names = "stop"; > + > + smd-edge { > + label = "lpass"; > + > + fastrpc { > + compatible = "qcom,fastrpc"; > + label = "adsp"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + cb@1 { > + compatible = "qcom,fastrpc-compute-cb"; > + reg = <1>; > + }; > + > + cb@2 { > + compatible = "qcom,fastrpc-compute-cb"; > + reg = <2>; > + }; > + }; > + }; > + }; > -- > 2.21.0 > >