| * Qualcomm Technologies LPASS CPU DAI |
| |
| This node models the Qualcomm Technologies Low-Power Audio SubSystem (LPASS). |
| |
| Required properties: |
| |
| - compatible : "qcom,lpass-cpu" or "qcom,apq8016-lpass-cpu" |
| - clocks : Must contain an entry for each entry in clock-names. |
| - clock-names : A list which must include the following entries: |
| * "ahbix-clk" |
| * "mi2s-osr-clk" |
| * "mi2s-bit-clk" |
| : required clocks for "qcom,lpass-cpu-apq8016" |
| * "ahbix-clk" |
| * "mi2s-bit-clk0" |
| * "mi2s-bit-clk1" |
| * "mi2s-bit-clk2" |
| * "mi2s-bit-clk3" |
| * "pcnoc-mport-clk" |
| * "pcnoc-sway-clk" |
| |
| - interrupts : Must contain an entry for each entry in |
| interrupt-names. |
| - interrupt-names : A list which must include the following entries: |
| * "lpass-irq-lpaif" |
| - pinctrl-N : One property must exist for each entry in |
| pinctrl-names. See ../pinctrl/pinctrl-bindings.txt |
| for details of the property values. |
| - pinctrl-names : Must contain a "default" entry. |
| - reg : Must contain an address for each entry in reg-names. |
| - reg-names : A list which must include the following entries: |
| * "lpass-lpaif" |
| - #address-cells : Must be 1 |
| - #size-cells : Must be 0 |
| |
| |
| |
| Optional properties: |
| |
| - qcom,adsp : Phandle for the audio DSP node |
| |
| By default, the driver uses up to 4 MI2S SD lines, for a total of 8 channels. |
| The SD lines to use can be configured by adding subnodes for each of the DAIs. |
| |
| Required properties for each DAI (represented by a subnode): |
| - reg : Must be one of the DAI IDs |
| (usually part of dt-bindings header) |
| - qcom,playback-sd-lines: List of serial data lines to use for playback |
| Each SD line should be represented by a number from 0-3. |
| - qcom,capture-sd-lines : List of serial data lines to use for capture |
| Each SD line should be represented by a number from 0-3. |
| |
| Note that adding a subnode changes the default to "no lines configured", |
| so both playback and capture lines should be configured when a subnode is added. |
| |
| Example: |
| |
| lpass@28100000 { |
| compatible = "qcom,lpass-cpu"; |
| clocks = <&lcc AHBIX_CLK>, <&lcc MI2S_OSR_CLK>, <&lcc MI2S_BIT_CLK>; |
| clock-names = "ahbix-clk", "mi2s-osr-clk", "mi2s-bit-clk"; |
| interrupts = <0 85 1>; |
| interrupt-names = "lpass-irq-lpaif"; |
| pinctrl-names = "default", "idle"; |
| pinctrl-0 = <&mi2s_default>; |
| pinctrl-1 = <&mi2s_idle>; |
| reg = <0x28100000 0x10000>; |
| reg-names = "lpass-lpaif"; |
| qcom,adsp = <&adsp>; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| /* Optional to set different MI2S SD lines */ |
| dai@3 { |
| reg = <MI2S_QUATERNARY>; |
| qcom,playback-sd-lines = <0 1>; |
| }; |
| }; |