* 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 = ; qcom,playback-sd-lines = <0 1>; }; };