Re: [PATCH 3/3] arm64: dts: qcom: sm8350: add APR and LPASS TLMM

From: Konrad Dybcio
Date: Mon Jun 19 2023 - 09:24:29 EST


On 16.06.2023 21:02, Krzysztof Kozlowski wrote:
> Add audio-related nodes: the APR in the ADSP (same as on SM8250) and
> LPASS TLMM pin controller.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>
> ---
>
> Bindings for SM8350:
> https://lore.kernel.org/linux-arm-msm/20230616185742.2250452-1-krzysztof.kozlowski@xxxxxxxxxx/T/#t
> ---
> arch/arm64/boot/dts/qcom/sm8350.dtsi | 82 ++++++++++++++++++++++++++++
> 1 file changed, 82 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
> index 33b7ef8fd78a..9650cecb1370 100644
> --- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
> @@ -15,7 +15,9 @@
> #include <dt-bindings/mailbox/qcom-ipcc.h>
> #include <dt-bindings/phy/phy-qcom-qmp.h>
> #include <dt-bindings/power/qcom-rpmpd.h>
> +#include <dt-bindings/soc/qcom,apr.h>
> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
> +#include <dt-bindings/sound/qcom,q6afe.h>
> #include <dt-bindings/thermal/thermal.h>
> #include <dt-bindings/interconnect/qcom,sm8350.h>
>
> @@ -1780,6 +1782,20 @@ tcsr_mutex: hwlock@1f40000 {
> #hwlock-cells = <1>;
> };
>
> + lpass_tlmm: pinctrl@33c0000 {
> + compatible = "qcom,sm8350-lpass-lpi-pinctrl";
> + reg = <0 0x033c0000 0x0 0x20000>,
'0' for addr, '0x0' for size :/

The rest of the file uses '0', please do that

> + <0 0x03550000 0x0 0x10000>;
> +
> + clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
> + <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
> + clock-names = "core", "audio";
> +
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&lpass_tlmm 0 0 15>;
> + };
> +
> gpu: gpu@3d00000 {
> compatible = "qcom,adreno-660.1", "qcom,adreno";
>
> @@ -3189,6 +3205,72 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
> label = "lpass";
> qcom,remote-pid = <2>;
>
> + apr {
> + compatible = "qcom,apr-v2";
> + qcom,glink-channels = "apr_audio_svc";
> + qcom,domain = <APR_DOMAIN_ADSP>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + service@3 {
> + reg = <APR_SVC_ADSP_CORE>;
> + compatible = "qcom,q6core";
> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
> + };
> +
> + q6afe: service@4 {
> + compatible = "qcom,q6afe";
> + reg = <APR_SVC_AFE>;
> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
Missing newline before subnodes

> + q6afedai: dais {
> + compatible = "qcom,q6afe-dais";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + #sound-dai-cells = <1>;
> + };
> +
> + q6afecc: clock-controller {
> + compatible = "qcom,q6afe-clocks";
> + #clock-cells = <2>;
> + };
> + };
> +
> + q6asm: service@7 {
> + compatible = "qcom,q6asm";
> + reg = <APR_SVC_ASM>;
> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
ditto

> + q6asmdai: dais {
> + compatible = "qcom,q6asm-dais";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + #sound-dai-cells = <1>;
> + iommus = <&apps_smmu 0x1801 0x0>;
> +
> + dai@0 {
> + reg = <0>;
> + };
> +
> + dai@1 {
> + reg = <1>;
> + };
> +
> + dai@2 {
> + reg = <2>;
> + };
> + };
> + };
> +
> + q6adm: service@8 {
> + compatible = "qcom,q6adm";
> + reg = <APR_SVC_ADM>;
> + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
ditto

The rest looks ok I think

Konrad
> + q6routing: routing {
> + compatible = "qcom,q6adm-routing";
> + #sound-dai-cells = <0>;
> + };
> + };
> + };
> +
> fastrpc {
> compatible = "qcom,fastrpc";
> qcom,glink-channels = "fastrpcglink-apps-dsp";