mirror of https://github.com/F-Stack/f-stack.git
80 lines
2.5 KiB
Plaintext
80 lines
2.5 KiB
Plaintext
|
* 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>;
|
||
|
};
|
||
|
};
|