On 05/01/2023 14:37, Srinivasa Rao Mandadapu wrote: > Update VA, RX and TX macro and lpass_tlmm clock properties and > enable them. > > Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx> > Tested-by: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx> > --- > .../qcom/sc7280-herobrine-audioreach-wcd9385.dtsi | 62 ++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-audioreach-wcd9385.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-audioreach-wcd9385.dtsi > index e1fe56c..8c55753 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-audioreach-wcd9385.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-audioreach-wcd9385.dtsi > @@ -8,6 +8,10 @@ > > #include <dt-bindings/sound/qcom,q6afe.h> > > +/delete-node/ &lpass_rx_macro; > +/delete-node/ &lpass_tx_macro; > +/delete-node/ &lpass_va_macro; > + > /{ > /* BOARD-SPECIFIC TOP LEVEL NODES */ > sound: sound { > @@ -107,3 +111,61 @@ > }; > }; > }; > + > +&soc { > + lpass_rx_macro: codec@3200000 { These should be properties of DTSI. The SoC either has them or not. It's not conditional or dual-setup... > + compatible = "qcom,sc7280-lpass-rx-macro"; > + reg = <0 0x03200000 0 0x1000>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&lpass_rx_swr_clk>, <&lpass_rx_swr_data>; > + > + clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_CLK_ID_TX_CORE_NPL_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&lpass_va_macro>; > + > + clock-names = "mclk", "npl", "macro", "dcodec", "fsgen"; > + > + #clock-cells = <0>; > + #sound-dai-cells = <1>; > + }; /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dtb: codec@3370000: clock-names: 'oneOf' conditional failed, one must be fixed: ['mclk', 'macro', 'dcodec'] is too long 'core' was expected From schema: /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dtb: codec@3370000: Unevaluated properties are not allowed ('clock-names' was unexpected) From schema: /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dtb: audio@3987000: clocks: [[218, 4], [221, 12], [221, 11], [221, 6], [221, 8], [223, 8], [223, 5], [223, 6], [223, 7], [218, 10]] is too long From schema: /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml /home/krzk/dev/linux/linux/out/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dtb: audio@3987000: clock-names: 'oneOf' conditional failed, one must be fixed: ['aon_cc_audio_hm_h', 'audio_cc_ext_mclk0', 'core_cc_sysnoc_mport_core', 'core_cc_ext_if0_ibit', 'core_cc_ext_if1_ibit', 'audio_cc_codec_mem', 'audio_cc_codec_mem0', 'audio_cc_codec_mem1', 'audio_cc_codec_mem2', 'aon_cc_va_mem0'] is too long 'core_cc_sysnoc_mport_core' was expected 'audio_cc_codec_mem' was expected 'audio_cc_codec_mem0' was expected 'audio_cc_codec_mem1' was expected 'audio_cc_codec_mem2' was expected 'aon_cc_va_mem0' was expected From schema: /home/krzk/dev/linux/linux/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml I posted recently several fixes, so some of the warnings might be skipped. But I think you did not test this at all... > + > + lpass_tx_macro: codec@3220000 { > + compatible = "qcom,sc7280-lpass-tx-macro"; > + reg = <0 0x03220000 0 0x1000>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&lpass_tx_swr_clk>, <&lpass_tx_swr_data>; > + > + clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_CLK_ID_TX_CORE_NPL_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&lpass_va_macro>; > + > + clock-names = "mclk", "npl", "macro", "dcodec", "fsgen"; > + > + #clock-cells = <0>; > + #sound-dai-cells = <1>; > + Drop blank line > + }; > + > + lpass_va_macro: codec@3370000 { > + compatible = "qcom,sc7280-lpass-va-macro"; > + reg = <0 0x03370000 0 0x1000>; > + > + pinctrl-0 = <&lpass_dmic01_clk>, <&lpass_dmic01_data>; > + pinctrl-names = "default"; > + > + clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, > + <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; > + > + clock-names = "mclk", "macro", "dcodec"; > + > + #clock-cells = <0>; > + #sound-dai-cells = <1>; > + }; > +}; Best regards, Krzysztof