Message ID | 1598855964-1042-3-git-send-email-srivasam@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Qualcomm's lpass-hdmi ASoC driver to support audio over dp port | expand |
On 31/08/2020 07:39, Srinivasa Rao Mandadapu wrote: > From: V Sujith Kumar Reddy <vsujithk@codeaurora.org> > > Adds bindings for lpass hdmi interface > which can support audio path over dp. > > Signed-off-by: Srinivasa Rao <srivasam@codeaurora.org> > Signed-off-by: V Sujith Kumar Reddy <vsujithk@codeaurora.org> > --- > .../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 51 ++++++++++++++++++++-- > 1 file changed, 47 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml > index 09c9bd2..7c2ac0c 100644 > --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml > +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml > @@ -22,6 +22,7 @@ properties: > - qcom,lpass-cpu > - qcom,apq8016-lpass-cpu > - qcom,sc7180-lpass-cpu > + - qcom,sc7180-lpass-hdmi Why do we need a new compatible per interface, IMO, you should just use the existing compatible. Or please explain the reasons why we need this? > > reg: > maxItems: 1 > @@ -60,10 +61,12 @@ properties: > const: 0 > > patternProperties: > - "(^mi2s-[0-9a-f]$|mi2s)": > + "^dai@[0-9a-f]$": > 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: > reg: > maxItems: 1 > @@ -145,6 +148,22 @@ allOf: > - iommus > - power-domains > > + - if: > + properties: > + compatible: > + contains: > + const: qcom,sc7180-lpass-hdmi > + then: > + properties: > + clock-names: > + items: > + - const: pcnoc-sway-clk > + - const: audio-core > + - const: pcnoc-mport-clk > + required: > + - iommus > + - power-domains > + > examples: > - | > #include <dt-bindings/sound/sc7180-lpass.h> > @@ -178,12 +197,36 @@ examples: > #address-cells = <1>; > #size-cells = <0>; > /* Optional to set different MI2S SD lines */ > - mi2s-primary@0 { > + dai@mi2s-primary { > reg = <MI2S_PRIMARY>; > qcom,playback-sd-lines = <1>; > qcom,capture-sd-lines = <0>; > }; > }; > + > + lpassh@62d87000 { > + compatible = "qcom,sc7180-lpass-hdmi"; > + > + reg = <0 0x62d87000 0 0x68000>; > + > + iommus = <&apps_smmu 0x1032 0>; > + > + power-domains = <&lpass_hm 0>; > + > + clocks = <&gcc 131>, > + <&lpasscc 6>, > + <&lpasscc 10>; > + > + clock-names = "pcnoc-sway-clk", "audio-core", > + "pcnoc-mport-clk"; > + > + #sound-dai-cells = <1>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + interrupts = <0 268 1>; > + }; > }; > > ... >
Thanks Srinivas For Review!!! On 9/4/2020 4:11 PM, Srinivas Kandagatla wrote: > > > On 31/08/2020 07:39, Srinivasa Rao Mandadapu wrote: >> From: V Sujith Kumar Reddy <vsujithk@codeaurora.org> >> >> Adds bindings for lpass hdmi interface >> which can support audio path over dp. >> >> Signed-off-by: Srinivasa Rao <srivasam@codeaurora.org> >> Signed-off-by: V Sujith Kumar Reddy <vsujithk@codeaurora.org> >> --- >> .../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 51 >> ++++++++++++++++++++-- >> 1 file changed, 47 insertions(+), 4 deletions(-) >> >> diff --git >> a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml >> b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml >> index 09c9bd2..7c2ac0c 100644 >> --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml >> +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml >> @@ -22,6 +22,7 @@ properties: >> - qcom,lpass-cpu >> - qcom,apq8016-lpass-cpu >> - qcom,sc7180-lpass-cpu >> + - qcom,sc7180-lpass-hdmi > > Why do we need a new compatible per interface, IMO, you should just > use the existing compatible. > Or please explain the reasons why we need this? Two compatible strings are used because iommu's are different for I2S and HDMI. > >> reg: >> maxItems: 1 >> @@ -60,10 +61,12 @@ properties: >> const: 0 >> patternProperties: >> - "(^mi2s-[0-9a-f]$|mi2s)": >> + "^dai@[0-9a-f]$": >> 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: >> reg: >> maxItems: 1 >> @@ -145,6 +148,22 @@ allOf: >> - iommus >> - power-domains >> + - if: >> + properties: >> + compatible: >> + contains: >> + const: qcom,sc7180-lpass-hdmi >> + then: >> + properties: >> + clock-names: >> + items: >> + - const: pcnoc-sway-clk >> + - const: audio-core >> + - const: pcnoc-mport-clk >> + required: >> + - iommus >> + - power-domains >> + >> examples: >> - | >> #include <dt-bindings/sound/sc7180-lpass.h> >> @@ -178,12 +197,36 @@ examples: >> #address-cells = <1>; >> #size-cells = <0>; >> /* Optional to set different MI2S SD lines */ >> - mi2s-primary@0 { >> + dai@mi2s-primary { >> reg = <MI2S_PRIMARY>; >> qcom,playback-sd-lines = <1>; >> qcom,capture-sd-lines = <0>; >> }; >> }; >> + >> + lpassh@62d87000 { >> + compatible = "qcom,sc7180-lpass-hdmi"; >> + >> + reg = <0 0x62d87000 0 0x68000>; >> + >> + iommus = <&apps_smmu 0x1032 0>; >> + >> + power-domains = <&lpass_hm 0>; >> + >> + clocks = <&gcc 131>, >> + <&lpasscc 6>, >> + <&lpasscc 10>; >> + >> + clock-names = "pcnoc-sway-clk", "audio-core", >> + "pcnoc-mport-clk"; >> + >> + #sound-dai-cells = <1>; >> + >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + interrupts = <0 268 1>; >> + }; >> }; >> ... >>
diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml index 09c9bd2..7c2ac0c 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml @@ -22,6 +22,7 @@ properties: - qcom,lpass-cpu - qcom,apq8016-lpass-cpu - qcom,sc7180-lpass-cpu + - qcom,sc7180-lpass-hdmi reg: maxItems: 1 @@ -60,10 +61,12 @@ properties: const: 0 patternProperties: - "(^mi2s-[0-9a-f]$|mi2s)": + "^dai@[0-9a-f]$": 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: reg: maxItems: 1 @@ -145,6 +148,22 @@ allOf: - iommus - power-domains + - if: + properties: + compatible: + contains: + const: qcom,sc7180-lpass-hdmi + then: + properties: + clock-names: + items: + - const: pcnoc-sway-clk + - const: audio-core + - const: pcnoc-mport-clk + required: + - iommus + - power-domains + examples: - | #include <dt-bindings/sound/sc7180-lpass.h> @@ -178,12 +197,36 @@ examples: #address-cells = <1>; #size-cells = <0>; /* Optional to set different MI2S SD lines */ - mi2s-primary@0 { + dai@mi2s-primary { reg = <MI2S_PRIMARY>; qcom,playback-sd-lines = <1>; qcom,capture-sd-lines = <0>; }; }; + + lpassh@62d87000 { + compatible = "qcom,sc7180-lpass-hdmi"; + + reg = <0 0x62d87000 0 0x68000>; + + iommus = <&apps_smmu 0x1032 0>; + + power-domains = <&lpass_hm 0>; + + clocks = <&gcc 131>, + <&lpasscc 6>, + <&lpasscc 10>; + + clock-names = "pcnoc-sway-clk", "audio-core", + "pcnoc-mport-clk"; + + #sound-dai-cells = <1>; + + #address-cells = <1>; + #size-cells = <0>; + + interrupts = <0 268 1>; + }; }; ...