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,lpass-cpu.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-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/sound/qcom,lpass-cpu.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Qualcomm Technologies Inc. LPASS CPU dai driver bindings
    8 
    9 maintainers:
   10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
   11   - Rohit kumar <rohitkr@codeaurora.org>
   12 
   13 description: |
   14   Qualcomm Technologies Inc. SOC Low-Power Audio SubSystem (LPASS) that consist
   15   of MI2S interface for audio data transfer on external codecs. LPASS cpu driver
   16   is a module to configure Low-Power Audio Interface(LPAIF) core registers
   17   across different IP versions.
   18 
   19 properties:
   20   compatible:
   21     enum:
   22       - qcom,lpass-cpu
   23       - qcom,apq8016-lpass-cpu
   24       - qcom,sc7180-lpass-cpu
   25       - qcom,sc7280-lpass-cpu
   26 
   27   reg:
   28     minItems: 1
   29     maxItems: 6
   30     description: LPAIF core registers
   31 
   32   reg-names:
   33     minItems: 1
   34     maxItems: 6
   35 
   36   clocks:
   37     minItems: 3
   38     maxItems: 7
   39 
   40   clock-names:
   41     minItems: 1
   42     maxItems: 10
   43 
   44   interrupts:
   45     minItems: 1
   46     maxItems: 4
   47     description: LPAIF DMA buffer interrupt
   48 
   49   interrupt-names:
   50     minItems: 1
   51     maxItems: 4
   52 
   53   qcom,adsp:
   54     $ref: /schemas/types.yaml#/definitions/phandle
   55     description: Phandle for the audio DSP node
   56 
   57   iommus:
   58     minItems: 2
   59     maxItems: 3
   60     description: Phandle to apps_smmu node with sid mask
   61 
   62   power-domains:
   63     maxItems: 1
   64 
   65   power-domain-names:
   66     maxItems: 1
   67 
   68   '#sound-dai-cells':
   69     const: 1
   70 
   71   '#address-cells':
   72     const: 1
   73 
   74   '#size-cells':
   75     const: 0
   76 
   77 patternProperties:
   78   "^dai-link@[0-9a-f]$":
   79     type: object
   80     description: |
   81       LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node
   82       depends on the specific driver providing the functionality and
   83       properties.
   84     properties:
   85       reg:
   86         maxItems: 1
   87         description: Must be one of the DAI ID
   88 
   89       qcom,playback-sd-lines:
   90         $ref: /schemas/types.yaml#/definitions/uint32-array
   91         description: list of MI2S data lines for playback
   92 
   93       qcom,capture-sd-lines:
   94         $ref: /schemas/types.yaml#/definitions/uint32-array
   95         description: list of MI2S data lines for capture
   96 
   97     required:
   98       - reg
   99 
  100     additionalProperties: false
  101 
  102 required:
  103   - compatible
  104   - reg
  105   - reg-names
  106   - clocks
  107   - clock-names
  108   - interrupts
  109   - interrupt-names
  110   - '#sound-dai-cells'
  111 
  112 additionalProperties: false
  113 
  114 allOf:
  115   - if:
  116       properties:
  117         compatible:
  118           contains:
  119             const: qcom,lpass-cpu
  120 
  121     then:
  122       properties:
  123         clock-names:
  124           items:
  125             - const: ahbix-clk
  126             - const: mi2s-osr-clk
  127             - const: mi2s-bit-clk
  128 
  129   - if:
  130       properties:
  131         compatible:
  132           contains:
  133             const: qcom,apq8016-lpass-cpu
  134 
  135     then:
  136       properties:
  137         clock-names:
  138           items:
  139             - const: ahbix-clk
  140             - const: mi2s-bit-clk0
  141             - const: mi2s-bit-clk1
  142             - const: mi2s-bit-clk2
  143             - const: mi2s-bit-clk3
  144             - const: pcnoc-mport-clk
  145             - const: pcnoc-sway-clk
  146 
  147   - if:
  148       properties:
  149         compatible:
  150           contains:
  151             const: qcom,sc7180-lpass-cpu
  152 
  153     then:
  154       properties:
  155         clock-names:
  156           oneOf:
  157             - items:   #for I2S
  158                 - const: pcnoc-sway-clk
  159                 - const: audio-core
  160                 - const: mclk0
  161                 - const: pcnoc-mport-clk
  162                 - const: mi2s-bit-clk0
  163                 - const: mi2s-bit-clk1
  164             - items:   #for HDMI
  165                 - const: pcnoc-sway-clk
  166                 - const: audio-core
  167                 - const: pcnoc-mport-clk
  168         reg-names:
  169           anyOf:
  170             - items:   #for I2S
  171                 - const: lpass-lpaif
  172             - items:   #for I2S and HDMI
  173                 - const: lpass-hdmiif
  174                 - const: lpass-lpaif
  175         interrupt-names:
  176           anyOf:
  177             - items:   #for I2S
  178                 - const: lpass-irq-lpaif
  179             - items:   #for I2S and HDMI
  180                 - const: lpass-irq-lpaif
  181                 - const: lpass-irq-hdmi
  182       required:
  183         - iommus
  184         - power-domains
  185 
  186   - if:
  187       properties:
  188         compatible:
  189           contains:
  190             const: qcom,sc7280-lpass-cpu
  191 
  192     then:
  193       properties:
  194         clock-names:
  195           oneOf:
  196             - items:   #for I2S
  197                 - const: aon_cc_audio_hm_h
  198                 - const: audio_cc_ext_mclk0
  199                 - const: core_cc_sysnoc_mport_core
  200                 - const: core_cc_ext_if0_ibit
  201                 - const: core_cc_ext_if1_ibit
  202             - items:   #for Soundwire
  203                 - const: aon_cc_audio_hm_h
  204                 - const: audio_cc_codec_mem
  205                 - const: audio_cc_codec_mem0
  206                 - const: audio_cc_codec_mem1
  207                 - const: audio_cc_codec_mem2
  208                 - const: aon_cc_va_mem0
  209             - items:   #for HDMI
  210                 - const: core_cc_sysnoc_mport_core
  211 
  212         reg-names:
  213           anyOf:
  214             - items:   #for I2S
  215                 - const: lpass-lpaif
  216             - items:   #for I2S and HDMI
  217                 - const: lpass-hdmiif
  218                 - const: lpass-lpaif
  219             - items:   #for I2S, soundwire and HDMI
  220                 - const: lpass-hdmiif
  221                 - const: lpass-lpaif
  222                 - const: lpass-rxtx-cdc-dma-lpm
  223                 - const: lpass-rxtx-lpaif
  224                 - const: lpass-va-lpaif
  225                 - const: lpass-va-cdc-dma-lpm
  226         interrupt-names:
  227           anyOf:
  228             - items:   #for I2S
  229                 - const: lpass-irq-lpaif
  230             - items:   #for I2S and HDMI
  231                 - const: lpass-irq-lpaif
  232                 - const: lpass-irq-hdmi
  233             - items:   #for I2S, soundwire and HDMI
  234                 - const: lpass-irq-lpaif
  235                 - const: lpass-irq-hdmi
  236                 - const: lpass-irq-vaif
  237                 - const: lpass-irq-rxtxif
  238         power-domain-names:
  239           allOf:
  240             - items:
  241                 - const: lcx
  242 
  243       required:
  244         - iommus
  245         - power-domains
  246 
  247 examples:
  248   - |
  249     #include <dt-bindings/sound/sc7180-lpass.h>
  250 
  251     soc {
  252         #address-cells = <2>;
  253         #size-cells = <2>;
  254         lpass@62d80000 {
  255             compatible = "qcom,sc7180-lpass-cpu";
  256 
  257             reg = <0 0x62d87000 0 0x68000>,
  258                   <0 0x62f00000 0 0x29000>;
  259             reg-names = "lpass-hdmiif",
  260                         "lpass-lpaif";
  261             iommus = <&apps_smmu 0x1020 0>,
  262                      <&apps_smmu 0x1032 0>;
  263             power-domains = <&lpass_hm 0>;
  264 
  265             clocks = <&gcc 131>,
  266                  <&lpasscorecc 6>,
  267                  <&lpasscorecc 7>,
  268                  <&lpasscorecc 10>,
  269                  <&lpasscorecc 8>,
  270                  <&lpasscorecc 9>;
  271 
  272             clock-names = "pcnoc-sway-clk", "audio-core",
  273                           "mclk0", "pcnoc-mport-clk",
  274                           "mi2s-bit-clk0", "mi2s-bit-clk1";
  275 
  276             interrupts = <0 160 1>,
  277                          <0 268 1>;
  278             interrupt-names = "lpass-irq-lpaif",
  279                               "lpass-irq-hdmi";
  280             #sound-dai-cells = <1>;
  281 
  282             #address-cells = <1>;
  283             #size-cells = <0>;
  284             /* Optional to set different MI2S SD lines */
  285             dai-link@0 {
  286                 reg = <MI2S_PRIMARY>;
  287                 qcom,playback-sd-lines = <1>;
  288                 qcom,capture-sd-lines = <0>;
  289             };
  290         };
  291     };
  292 
  293 ...

Cache object: 4511c5c598771e6c46ab8acdb14b4f62


[ 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.