lkml.org 
[lkml]   [2022]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 10/15] dt-bindings: remoteproc: qcom,sc8280xp-pas: split into separate file
    Date
    Split SC8280XP remote processor Peripheral Authentication Service bindings
    into their own file to reduce complexity and make maintenance easier.

    While moving correctly constrain the number of interrupts per specific
    device.

    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

    ---

    Changes since v2:
    1. Drop if:then: for the clock and put it directly under properties.
    2. Merge two if:then: clauses for setting interrupts.

    Changes since v1:
    1. Add qcom,qmp (not part of qcom,pas-common.yaml# anymore).
    2. Add firmware-name to example.
    3. Correct maxItems: 5 for interrupts.
    ---
    .../bindings/remoteproc/qcom,adsp.yaml | 26 ----
    .../remoteproc/qcom,sc8280xp-pas.yaml | 139 ++++++++++++++++++
    2 files changed, 139 insertions(+), 26 deletions(-)
    create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml

    diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
    index b14a83da37c2..67a68a8edc44 100644
    --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
    +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
    @@ -30,9 +30,6 @@ properties:
    - qcom,sc8180x-adsp-pas
    - qcom,sc8180x-cdsp-pas
    - qcom,sc8180x-mpss-pas
    - - qcom,sc8280xp-adsp-pas
    - - qcom,sc8280xp-nsp0-pas
    - - qcom,sc8280xp-nsp1-pas
    - qcom,sdm660-adsp-pas
    - qcom,sdm845-adsp-pas
    - qcom,sdm845-cdsp-pas
    @@ -76,9 +73,6 @@ allOf:
    - qcom,sc8180x-adsp-pas
    - qcom,sc8180x-cdsp-pas
    - qcom,sc8180x-mpss-pas
    - - qcom,sc8280xp-adsp-pas
    - - qcom,sc8280xp-nsp0-pas
    - - qcom,sc8280xp-nsp1-pas
    - qcom,sdm845-adsp-pas
    - qcom,sdm845-cdsp-pas
    then:
    @@ -123,9 +117,6 @@ allOf:
    - qcom,qcs404-wcss-pas
    - qcom,sc8180x-adsp-pas
    - qcom,sc8180x-cdsp-pas
    - - qcom,sc8280xp-adsp-pas
    - - qcom,sc8280xp-nsp0-pas
    - - qcom,sc8280xp-nsp1-pas
    - qcom,sdm845-adsp-pas
    - qcom,sdm845-cdsp-pas
    then:
    @@ -240,7 +231,6 @@ allOf:
    enum:
    - qcom,sc8180x-adsp-pas
    - qcom,sc8180x-cdsp-pas
    - - qcom,sc8280xp-adsp-pas
    then:
    properties:
    power-domains:
    @@ -252,22 +242,6 @@ allOf:
    - const: lcx
    - const: lmx

    - - if:
    - properties:
    - compatible:
    - contains:
    - enum:
    - - qcom,sc8280xp-nsp0-pas
    - - qcom,sc8280xp-nsp1-pas
    - then:
    - properties:
    - power-domains:
    - items:
    - - description: NSP power domain
    - power-domain-names:
    - items:
    - - const: nsp
    -
    - if:
    properties:
    compatible:
    diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml
    new file mode 100644
    index 000000000000..c08274aaa6f8
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc8280xp-pas.yaml
    @@ -0,0 +1,139 @@
    +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/remoteproc/qcom,sc8280xp-pas.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Qualcomm SC8280XP Peripheral Authentication Service
    +
    +maintainers:
    + - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    +
    +description:
    + Qualcomm SC8280XP SoC Peripheral Authentication Service loads and boots
    + firmware on the Qualcomm DSP Hexagon cores.
    +
    +properties:
    + compatible:
    + enum:
    + - qcom,sc8280xp-adsp-pas
    + - qcom,sc8280xp-nsp0-pas
    + - qcom,sc8280xp-nsp1-pas
    +
    + reg:
    + maxItems: 1
    +
    + clocks:
    + items:
    + - description: XO clock
    +
    + clock-names:
    + items:
    + - const: xo
    +
    + qcom,qmp:
    + $ref: /schemas/types.yaml#/definitions/phandle
    + description: Reference to the AOSS side-channel message RAM.
    +
    + smd-edge: false
    +
    +required:
    + - compatible
    + - reg
    +
    +allOf:
    + - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
    + - if:
    + properties:
    + compatible:
    + enum:
    + - qcom,sc8280xp-nsp0-pas
    + - qcom,sc8280xp-nsp1-pas
    + then:
    + properties:
    + interrupts:
    + maxItems: 5
    + interrupt-names:
    + maxItems: 5
    + else:
    + properties:
    + interrupts:
    + minItems: 6
    + interrupt-names:
    + minItems: 6
    +
    + - if:
    + properties:
    + compatible:
    + enum:
    + - qcom,sc8280xp-adsp-pas
    + then:
    + properties:
    + power-domains:
    + items:
    + - description: LCX power domain
    + - description: LMX power domain
    + power-domain-names:
    + items:
    + - const: lcx
    + - const: lmx
    + else:
    + properties:
    + power-domains:
    + items:
    + - description: NSP power domain
    + power-domain-names:
    + items:
    + - const: nsp
    +
    +unevaluatedProperties: false
    +
    +examples:
    + - |
    + #include <dt-bindings/clock/qcom,rpmh.h>
    + #include <dt-bindings/interrupt-controller/arm-gic.h>
    + #include <dt-bindings/interrupt-controller/irq.h>
    + #include <dt-bindings/mailbox/qcom-ipcc.h>
    + #include <dt-bindings/power/qcom-rpmpd.h>
    +
    + remoteproc@3000000 {
    + compatible = "qcom,sc8280xp-adsp-pas";
    + reg = <0x03000000 0x100>;
    +
    + clocks = <&rpmhcc RPMH_CXO_CLK>;
    + clock-names = "xo";
    +
    + firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";
    +
    + interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
    + <&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>,
    + <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
    + interrupt-names = "wdog", "fatal", "ready",
    + "handover", "stop-ack", "shutdown-ack";
    +
    + memory-region = <&pil_adsp_mem>;
    +
    + power-domains = <&rpmhpd SC8280XP_LCX>,
    + <&rpmhpd SC8280XP_LMX>;
    + power-domain-names = "lcx", "lmx";
    +
    + qcom,qmp = <&aoss_qmp>;
    + qcom,smem-states = <&smp2p_adsp_out 0>;
    + qcom,smem-state-names = "stop";
    +
    + glink-edge {
    + interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
    + IPCC_MPROC_SIGNAL_GLINK_QMP
    + IRQ_TYPE_EDGE_RISING>;
    + mboxes = <&ipcc IPCC_CLIENT_LPASS
    + IPCC_MPROC_SIGNAL_GLINK_QMP>;
    +
    + label = "lpass";
    + qcom,remote-pid = <2>;
    +
    + /* ... */
    + };
    + };
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-11-24 19:45    [W:4.309 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site