Commit 8e3fdc52 authored by V Sujith Kumar Reddy's avatar V Sujith Kumar Reddy Committed by Mark Brown

ASoC: dt-bindings: Add dt binding for lpass hdmi

Adds bindings for lpass hdmi interface
which can support audio path over dp.
Signed-off-by: default avatarV Sujith Kumar Reddy <vsujithk@codeaurora.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSrinivasa Rao <srivasam@codeaurora.org>
Tested-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/1602134223-2562-3-git-send-email-srivasam@codeaurora.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 12fbfc4c
...@@ -24,9 +24,10 @@ properties: ...@@ -24,9 +24,10 @@ properties:
- qcom,sc7180-lpass-cpu - qcom,sc7180-lpass-cpu
reg: reg:
maxItems: 1 maxItems: 2
description: LPAIF core registers description: LPAIF core registers
reg-names:
maxItems: 2
clocks: clocks:
minItems: 3 minItems: 3
maxItems: 6 maxItems: 6
...@@ -36,15 +37,16 @@ properties: ...@@ -36,15 +37,16 @@ properties:
maxItems: 6 maxItems: 6
interrupts: interrupts:
maxItems: 1 maxItems: 2
description: LPAIF DMA buffer interrupt description: LPAIF DMA buffer interrupt
interrupt-names:
maxItems: 2
qcom,adsp: qcom,adsp:
$ref: /schemas/types.yaml#/definitions/phandle $ref: /schemas/types.yaml#/definitions/phandle
description: Phandle for the audio DSP node description: Phandle for the audio DSP node
iommus: iommus:
maxItems: 1 maxItems: 2
description: Phandle to apps_smmu node with sid mask description: Phandle to apps_smmu node with sid mask
power-domains: power-domains:
...@@ -60,10 +62,12 @@ properties: ...@@ -60,10 +62,12 @@ properties:
const: 0 const: 0
patternProperties: patternProperties:
"(^mi2s-[0-9a-f]$|mi2s)": "^dai-link@[0-9a-f]$":
type: object type: object
description: Required properties for each DAI description: |
LPASS CPU dai node for each I2S device. Bindings of each node
depends on the specific driver providing the functionality and
properties.
properties: properties:
reg: reg:
maxItems: 1 maxItems: 1
...@@ -85,9 +89,11 @@ patternProperties: ...@@ -85,9 +89,11 @@ patternProperties:
required: required:
- compatible - compatible
- reg - reg
- reg-names
- clocks - clocks
- clock-names - clock-names
- interrupts - interrupts
- interrupt-names
- '#sound-dai-cells' - '#sound-dai-cells'
additionalProperties: false additionalProperties: false
...@@ -134,13 +140,32 @@ allOf: ...@@ -134,13 +140,32 @@ allOf:
then: then:
properties: properties:
clock-names: clock-names:
items: oneOf:
- const: pcnoc-sway-clk - items: #for I2S
- const: audio-core - const: pcnoc-sway-clk
- const: mclk0 - const: audio-core
- const: pcnoc-mport-clk - const: mclk0
- const: mi2s-bit-clk0 - const: pcnoc-mport-clk
- const: mi2s-bit-clk1 - const: mi2s-bit-clk0
- const: mi2s-bit-clk1
- items: #for HDMI
- const: pcnoc-sway-clk
- const: audio-core
- const: pcnoc-mport-clk
reg-names:
anyOf:
- items: #for I2S
- const: lpass-lpaif
- items: #for I2S and HDMI
- const: lpass-hdmiif
- const: lpass-lpaif
interrupt-names:
anyOf:
- items: #for I2S
- const: lpass-irq-lpaif
- items: #for I2S and HDMI
- const: lpass-irq-lpaif
- const: lpass-irq-hdmi
required: required:
- iommus - iommus
- power-domains - power-domains
...@@ -152,12 +177,15 @@ examples: ...@@ -152,12 +177,15 @@ examples:
soc { soc {
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
lpass@62f00000 { lpass@62d80000 {
compatible = "qcom,sc7180-lpass-cpu"; compatible = "qcom,sc7180-lpass-cpu";
reg = <0 0x62f00000 0 0x29000>; reg = <0 0x62d87000 0 0x68000>,
<0 0x62f00000 0 0x29000>;
iommus = <&apps_smmu 0x1020 0>; reg-names = "lpass-hdmiif",
"lpass-lpaif";
iommus = <&apps_smmu 0x1020 0>,
<&apps_smmu 0x1032 0>;
power-domains = <&lpass_hm 0>; power-domains = <&lpass_hm 0>;
clocks = <&gcc 131>, clocks = <&gcc 131>,
...@@ -171,14 +199,16 @@ examples: ...@@ -171,14 +199,16 @@ examples:
"mclk0", "pcnoc-mport-clk", "mclk0", "pcnoc-mport-clk",
"mi2s-bit-clk0", "mi2s-bit-clk1"; "mi2s-bit-clk0", "mi2s-bit-clk1";
interrupts = <0 160 1>; interrupts = <0 160 1>,
<0 268 1>;
interrupt-names = "lpass-irq-lpaif",
"lpass-irq-hdmi";
#sound-dai-cells = <1>; #sound-dai-cells = <1>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
/* Optional to set different MI2S SD lines */ /* Optional to set different MI2S SD lines */
mi2s-primary@0 { dai-link@0 {
reg = <MI2S_PRIMARY>; reg = <MI2S_PRIMARY>;
qcom,playback-sd-lines = <1>; qcom,playback-sd-lines = <1>;
qcom,capture-sd-lines = <0>; qcom,capture-sd-lines = <0>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment