The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/sound/qcom,q6dsp-lpass-ports.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml#"
    5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
    6 
    7 title: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports binding
    8 
    9 maintainers:
   10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
   11 
   12 description: |
   13   This binding describes the Qualcomm DSP LPASS Audio ports
   14 
   15 properties:
   16   compatible:
   17     enum:
   18       - qcom,q6afe-dais
   19       - qcom,q6apm-lpass-dais
   20 
   21   reg:
   22     maxItems: 1
   23 
   24   '#sound-dai-cells':
   25     const: 1
   26 
   27   '#address-cells':
   28     const: 1
   29 
   30   '#size-cells':
   31     const: 0
   32 
   33 #Digital Audio Interfaces
   34 patternProperties:
   35   '^dai@[0-9]+$':
   36     type: object
   37     description:
   38       Q6DSP Digital Audio Interfaces.
   39 
   40     properties:
   41       reg:
   42         description:
   43           Digital Audio Interface ID
   44 
   45       qcom,sd-lines:
   46         $ref: /schemas/types.yaml#/definitions/uint32-array
   47         description:
   48           List of serial data lines used by this dai.should be one or more of the 0-3 sd lines.
   49         minItems: 1
   50         maxItems: 4
   51         uniqueItems: true
   52         items:
   53           minimum: 0
   54           maximum: 3
   55 
   56       qcom,tdm-sync-mode:
   57         $ref: /schemas/types.yaml#/definitions/uint32
   58         enum: [0, 1, 2]
   59         description:
   60           TDM Synchronization mode
   61             0 = Short sync bit mode
   62             1 = Long sync mode
   63             2 = Short sync slot mode
   64 
   65       qcom,tdm-sync-src:
   66         $ref: /schemas/types.yaml#/definitions/uint32
   67         enum: [0, 1]
   68         description:
   69           TDM Synchronization source
   70             0 = External source
   71             1 = Internal source
   72 
   73       qcom,tdm-data-out:
   74         $ref: /schemas/types.yaml#/definitions/uint32
   75         enum: [0, 1]
   76         description:
   77           TDM Data out signal to drive with other masters
   78             0 = Disable
   79             1 = Enable
   80 
   81       qcom,tdm-invert-sync:
   82         $ref: /schemas/types.yaml#/definitions/uint32
   83         enum: [0, 1]
   84         description:
   85           TDM Invert the sync
   86             0 = Normal
   87             1 = Invert
   88 
   89       qcom,tdm-data-delay:
   90         $ref: /schemas/types.yaml#/definitions/uint32
   91         enum: [0, 1, 2]
   92         description:
   93           TDM Number of bit clock to delay data
   94             0 = 0 bit clock cycle
   95             1 = 1 bit clock cycle
   96             2 = 2 bit clock cycle
   97 
   98       qcom,tdm-data-align:
   99         $ref: /schemas/types.yaml#/definitions/uint32
  100         enum: [0, 1]
  101         description:
  102           Indicate how data is packed within the slot. For example, 32 slot
  103           width in case of sample bit width is 24TDM Invert the sync.
  104             0 = MSB
  105             1 = LSB
  106 
  107     required:
  108       - reg
  109 
  110     allOf:
  111       - if:
  112           properties:
  113             reg:
  114               contains:
  115                 # TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7
  116                 items:
  117                   minimum: 24
  118                   maximum: 103
  119         then:
  120           required:
  121             - qcom,tdm-sync-mode
  122             - qcom,tdm-sync-src
  123             - qcom,tdm-data-out
  124             - qcom,tdm-invert-sync
  125             - qcom,tdm-data-delay
  126             - qcom,tdm-data-align
  127 
  128       - if:
  129           properties:
  130             reg:
  131               contains:
  132                 # MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and
  133                 # QUINARY_MI2S_RX - QUINARY_MI2S_TX
  134                 items:
  135                   oneOf:
  136                     - minimum: 16
  137                       maximum: 23
  138                     - minimum: 127
  139                       maximum: 128
  140         then:
  141           required:
  142             - qcom,sd-lines
  143 
  144     additionalProperties: false
  145 
  146 required:
  147   - compatible
  148   - reg
  149   - "#sound-dai-cells"
  150   - "#address-cells"
  151   - "#size-cells"
  152 
  153 additionalProperties: false
  154 
  155 examples:
  156   - |
  157     #include <dt-bindings/soc/qcom,apr.h>
  158     #include <dt-bindings/sound/qcom,q6afe.h>
  159     apr {
  160         #address-cells = <1>;
  161         #size-cells = <0>;
  162         apr-service@4 {
  163             reg = <APR_SVC_AFE>;
  164             #address-cells = <1>;
  165             #size-cells = <0>;
  166             q6afedai@1 {
  167               compatible = "qcom,q6afe-dais";
  168               reg = <1>;
  169               #address-cells = <1>;
  170               #size-cells = <0>;
  171               #sound-dai-cells = <1>;
  172 
  173               dai@22 {
  174                 reg = <QUATERNARY_MI2S_RX>;
  175                 qcom,sd-lines = <0 1 2 3>;
  176               };
  177             };
  178         };
  179       };
  180   - |
  181     #include <dt-bindings/soc/qcom,gpr.h>
  182     gpr {
  183         compatible = "qcom,gpr";
  184         #address-cells = <1>;
  185         #size-cells = <0>;
  186         qcom,domain = <GPR_DOMAIN_ID_ADSP>;
  187         service@1 {
  188             compatible = "qcom,q6apm";
  189             reg = <GPR_APM_MODULE_IID>;
  190             #address-cells = <1>;
  191             #size-cells = <0>;
  192             q6apmdai@1 {
  193               compatible = "qcom,q6apm-lpass-dais";
  194               reg = <1>;
  195               #address-cells = <1>;
  196               #size-cells = <0>;
  197               #sound-dai-cells = <1>;
  198 
  199               dai@22 {
  200                 reg = <QUATERNARY_MI2S_RX>;
  201                 qcom,sd-lines = <0 1 2 3>;
  202               };
  203             };
  204         };
  205       };

Cache object: 36d3b89ff1f637f23348c6f0d7a605e5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.