From patchwork Mon Aug 9 11:23:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 493842 Delivered-To: patch@linaro.org Received: by 2002:a05:6638:396:0:0:0:0 with SMTP id y22csp2811167jap; Mon, 9 Aug 2021 04:24:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBAPtIs1xOHruoGu9Engz4EOBw0VV/isqfUmtBFkFpb7t5hO4BMdqVP0WSugJi7DtheFJr X-Received: by 2002:a05:6e02:ed1:: with SMTP id i17mr168638ilk.272.1628508273784; Mon, 09 Aug 2021 04:24:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628508273; cv=none; d=google.com; s=arc-20160816; b=Ms23h6cPlzhC1eiPCBwH/IMbjp1WEgXfjT8T7Ixv0py/mmadA/uofyZAJiDiMhns6l 0gxJ1Oese7NdfmnNHDiW7n79r9tjdrVLnLZha0o0PTSSRoULkro6gwZRXuzdayhgcLEI gieC/T/9ontEdjrb8TeAKu8lviRxaExLbXNMwwKOs+s+wqSIh1C02Xf2Xudmaoarw6JO s0lm/4jHuWngg0TUkSlW97Oi5X9BOKTKrKuW2L9xR5biQdQN86ep73ZugluuiB7dGJNN RiX3AbZ0LbO8QTbgTuoPbbnyHZBMnZSiWPo5MjOfGTY1laLTTxenCIBB+5URIXoqTDUY e6jg== 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=R63M4/FB38pewmBv4s/N5td47VGDDzMLbJRs6dsaRiY=; b=f/189d5c15WCLv0rFqkAeaJjstrm2jhRC7BXPOa0yRlEAgn9NRV6Xply8FkkmKubrE l22sCmb7VZn3vkZ2eyeraqA0IGKJVgDiL9wPgE5nK8QitBaxD7pCFomd60BiXydUO6Gn MZTuv28vrsFBtrSnn9wj5T1yFWlBji51wgF4AUFiteTWwVkrGAY//mxivs1Z5r/dQzjJ nx6T9n3Q3iz/9u8Wh4FO2utD9UN+57MKoMHQPptTqYMoprADYHlhYbqGTfmI8WSG8REq sIC1MYiWLMVyhWc3XBhagTjBJYyq5Pq+oWhgUmzAEecJ5XONhvV+LysghQ8erU1XIF2g txEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OVITxYzS; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q9si16629084jap.5.2021.08.09.04.24.33; Mon, 09 Aug 2021 04:24:33 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OVITxYzS; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235119AbhHILYx (ORCPT + 7 others); Mon, 9 Aug 2021 07:24:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235053AbhHILYw (ORCPT ); Mon, 9 Aug 2021 07:24:52 -0400 Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 215FCC0613D3 for ; Mon, 9 Aug 2021 04:24:32 -0700 (PDT) Received: by mail-wr1-x42f.google.com with SMTP id i4so3475349wru.0 for ; Mon, 09 Aug 2021 04:24:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=R63M4/FB38pewmBv4s/N5td47VGDDzMLbJRs6dsaRiY=; b=OVITxYzS5WiJfIyFpogiKzse6szODxrBnRT3AWxkd2ly9XNpdHn4NVHAgcPFc+4vk9 K29tuyFQJu560G5CkPg0WjC6QDBzh41emyTglqGfdPbOei/cj4+WAcnMLo7tAMccFDy5 jWemhozzh0vAjKe1jWsV1yf/miD97Nw3sq6ndwVg5sm5sfj8bf4fuoHYRiXb58Tdnlr/ VNk8wQOxSaCGsRAi8nBjKfBF+LeGqGk2mW5+h87Qcj0fk+edUvlNWYF3aYgjYEdud1gT XG8mmTgZOVXRD1k7saQIelt84uR/eXeUQInxLDKnCsNXJhVjJN/xTipR4lAdhEBToDw8 snSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=R63M4/FB38pewmBv4s/N5td47VGDDzMLbJRs6dsaRiY=; b=KhMu+i9u+/O6Nskwo0A9Rj3rO5LlEuNKKmLaLs+PDieN30tr8ofM/8wtSHQQh8v0vY 4gIJX+cId9lSqYHFqxXIFcHyN+yigq/edKeT79cST4UM5reJ0w3Gj/S4Ba62dl5qm5uC 8GC9PdF0Mg6yy8FmglmlPajqDsB2y/gFOMFoLTvFPGnWl7bgAKsniBaUhMZ/a7YAR4yQ 64gr+uaKFNe1lwTuzhQnzbBygvD0IjgFRPtVWfN253PeydqKOWUtwROrDaDereZ8Iapr BxIX59MKB9JBl5Lbsj9tlc6zL9ELfk6+LULKNhcyEJXbwjEqacfQMN59RnzxkE8D64d4 e0Cg== X-Gm-Message-State: AOAM530ctB8nzikbnayAg9P0kxb75mr7pN8q1n+IWv4mxPlhYfZ2H6rV Ze6KOOqqelC4B9xlqiLlL53rrQ== X-Received: by 2002:a5d:6b8f:: with SMTP id n15mr24062084wrx.103.1628508270761; Mon, 09 Aug 2021 04:24:30 -0700 (PDT) Received: from srini-hackbox.lan (cpc86377-aztw32-2-0-cust226.18-1.cable.virginm.net. [92.233.226.227]) by smtp.gmail.com with ESMTPSA id b80sm7774900wmb.2.2021.08.09.04.24.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Aug 2021 04:24:30 -0700 (PDT) From: Srinivas Kandagatla To: bjorn.andersson@linaro.org, broonie@kernel.org, robh@kernel.org Cc: plai@codeaurora.org, tiwai@suse.de, devicetree@vger.kernel.org, perex@perex.cz, alsa-devel@alsa-project.org, lgirdwood@gmail.com, bgoswami@codeaurora.org, Srinivas Kandagatla Subject: [PATCH v4 01/20] soc: dt-bindings: qcom: apr: convert to yaml Date: Mon, 9 Aug 2021 12:23:20 +0100 Message-Id: <20210809112339.8368-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210809112339.8368-1-srinivas.kandagatla@linaro.org> References: <20210809112339.8368-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Convert APR bindings to yaml format so that we could add new bindings support. All the dsp services bindings are now part of apr bindings instead of adding them to audio bindings. Signed-off-by: Srinivas Kandagatla --- .../devicetree/bindings/soc/qcom/qcom,apr.txt | 134 ------------------ .../bindings/soc/qcom/qcom,apr.yaml | 127 +++++++++++++++++ 2 files changed, 127 insertions(+), 134 deletions(-) delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml -- 2.21.0 diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt deleted file mode 100644 index 2e2f6dc351c0..000000000000 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt +++ /dev/null @@ -1,134 +0,0 @@ -Qualcomm APR (Asynchronous Packet Router) binding - -This binding describes the Qualcomm APR. APR is a IPC protocol for -communication between Application processor and QDSP. APR is mainly -used for audio/voice services on the QDSP. - -- compatible: - Usage: required - Value type: - Definition: must be "qcom,apr-v", example "qcom,apr-v2" - -- qcom,apr-domain - Usage: required - Value type: - Definition: Destination processor ID. - Possible values are : - 1 - APR simulator - 2 - PC - 3 - MODEM - 4 - ADSP - 5 - APPS - 6 - MODEM2 - 7 - APPS2 - -= APR SERVICES -Each subnode of the APR node represents service tied to this apr. The name -of the nodes are not important. The properties of these nodes are defined -by the individual bindings for the specific service -- All APR services MUST contain the following property: - -- reg - Usage: required - Value type: - Definition: APR Service ID - Possible values are : - 3 - DSP Core Service - 4 - Audio Front End Service. - 5 - Voice Stream Manager Service. - 6 - Voice processing manager. - 7 - Audio Stream Manager Service. - 8 - Audio Device Manager Service. - 9 - Multimode voice manager. - 10 - Core voice stream. - 11 - Core voice processor. - 12 - Ultrasound stream manager. - 13 - Listen stream manager. - -- qcom,protection-domain - Usage: optional - Value type: - Definition: Must list the protection domain service name and path - that the particular apr service has a dependency on. - Possible values are : - "avs/audio", "msm/adsp/audio_pd". - "kernel/elf_loader", "msm/modem/wlan_pd". - "tms/servreg", "msm/adsp/audio_pd". - "tms/servreg", "msm/modem/wlan_pd". - "tms/servreg", "msm/slpi/sensor_pd". - -= EXAMPLE -The following example represents a QDSP based sound card on a MSM8996 device -which uses apr as communication between Apps and QDSP. - - apr { - compatible = "qcom,apr-v2"; - qcom,apr-domain = ; - - apr-service@3 { - compatible = "qcom,q6core"; - reg = ; - }; - - apr-service@4 { - compatible = "qcom,q6afe"; - reg = ; - - dais { - #sound-dai-cells = <1>; - dai@1 { - reg = ; - }; - }; - }; - - apr-service@7 { - compatible = "qcom,q6asm"; - reg = ; - ... - }; - - apr-service@8 { - compatible = "qcom,q6adm"; - reg = ; - ... - }; - }; - -= EXAMPLE 2 -The following example represents a QDSP based sound card with protection domain -dependencies specified. Here some of the apr services are dependent on services -running on protection domain hosted on ADSP/SLPI remote processors while others -have no such dependency. - - apr { - compatible = "qcom,apr-v2"; - qcom,glink-channels = "apr_audio_svc"; - qcom,apr-domain = ; - - apr-service@3 { - compatible = "qcom,q6core"; - reg = ; - }; - - q6afe: apr-service@4 { - compatible = "qcom,q6afe"; - reg = ; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - ... - }; - - q6asm: apr-service@7 { - compatible = "qcom,q6asm"; - reg = ; - qcom,protection-domain = "tms/servreg", "msm/slpi/sensor_pd"; - ... - }; - - q6adm: apr-service@8 { - compatible = "qcom,q6adm"; - reg = ; - qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; - ... - }; - }; diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml new file mode 100644 index 000000000000..12650f7084f4 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml @@ -0,0 +1,127 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm APR (Asynchronous Packet Router) binding + +maintainers: + - Srinivas Kandagatla + +description: | + This binding describes the Qualcomm APR, APR is a IPC protocol for + communication between Application processor and QDSP. APR is mainly + used for audio/voice services on the QDSP. + +properties: + compatible: + enum: + - qcom,apr + - qcom,apr-v2 + + qcom,apr-domain: + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [1, 2, 3, 4, 5, 6, 7] + description: + Selects the processor domain for apr + 1 = APR simulator + 2 = PC Domain + 3 = Modem Domain + 4 = ADSP Domain + 5 = Application processor Domain + 6 = Modem2 Domain + 7 = Application Processor2 Domain + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +#APR Services +patternProperties: + "^apr-service@[0-9a-e]$": + type: object + description: + APR node's client devices use subnodes for desired static port services. + + properties: + compatible: + enum: + - qcom,q6core + - qcom,q6asm + - qcom,q6afe + - qcom,q6adm + + reg: + enum: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + description: + APR Service ID + 3 = DSP Core Service + 4 = Audio Front End Service. + 5 = Voice Stream Manager Service. + 6 = Voice processing manager. + 7 = Audio Stream Manager Service. + 8 = Audio Device Manager Service. + 9 = Multimode voice manager. + 10 = Core voice stream. + 11 = Core voice processor. + 12 = Ultrasound stream manager. + 13 = Listen stream manager. + + qcom,protection-domain: + $ref: /schemas/types.yaml#/definitions/string-array + description: protection domain service name and path for apr service + has dependency on. + items: + - const: avs/audio + - const: msm/adsp/audio_pd + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + additionalProperties: false + +required: + - compatible + - qcom,apr-domain + +additionalProperties: false + +examples: + - | + #include + apr { + compatible = "qcom,apr-v2"; + qcom,apr-domain = ; + #address-cells = <1>; + #size-cells = <0>; + + q6core: apr-service@3 { + compatible = "qcom,q6core"; + reg = ; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + }; + + q6afe: apr-service@4 { + compatible = "qcom,q6afe"; + reg = ; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + }; + + q6asm: apr-service@7 { + compatible = "qcom,q6asm"; + reg = ; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + }; + + q6adm: apr-service@8 { + compatible = "qcom,q6adm"; + reg = ; + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; + }; + };