lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 3 Jan 2019 15:50:02 -0800
From:   Bjorn Andersson <bjorn.andersson@...aro.org>
To:     Rohit kumar <rohitkr@...eaurora.org>
Cc:     dianders@...omium.org, andy.gross@...aro.org,
        david.brown@...aro.org, robh+dt@...nel.org, mark.rutland@....com,
        linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org, plai@...eaurora.org,
        bgoswami@...eaurora.org, srinivas.kandagatla@...aro.org,
        linux-remoteproc@...r.kernel.org
Subject: Re: [PATCH 2/2] arm64: dts: qcom: sdm845: Add Q6V5 ADSP node

On Thu 20 Dec 05:39 PST 2018, Rohit kumar wrote:

> This patch adds Q6V5 ADSP remoteproc node for SDM845 SoCs.
> 

Thanks Rohit, nice to see these things on the list!

> Signed-off-by: Rohit kumar <rohitkr@...eaurora.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 96 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 95 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index c0a012f..dfeb3cf 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -13,6 +13,9 @@
>  #include <dt-bindings/reset/qcom,sdm845-aoss.h>
>  #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>  #include <dt-bindings/clock/qcom,gcc-sdm845.h>
> +#include <dt-bindings/soc/qcom,apr.h>
> +#include <dt-bindings/sound/qcom,q6afe.h>
> +#include <dt-bindings/sound/qcom,q6asm.h>
>  
>  / {
>  	interrupt-parent = <&intc>;
> @@ -1691,7 +1694,98 @@
>  				status = "disabled";
>  			};
>  		};
> -	};
> +
> +		adsp_pil: remoteproc@...00000 {

Please sort nodes by address, then name.

> +			compatible = "qcom,sdm845-adsp-pil";
> +
> +			reg = <0x17300000 0x410>;
> +			reg-names = "qdsp6ss";

reg-names was dropped from the binding (iirc), please omit it here.

> +
> +			interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,

s/0/GIC_SPI/

> +				<&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> +				<&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> +				<&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> +				<&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "wdog", "fatal", "ready",
> +					  "handover", "stop-ack";
> +
> +			clocks = <&rpmhcc RPMH_CXO_CLK>,
> +				 <&gcc GCC_LPASS_SWAY_CLK>,
> +				 <&lpasscc LPASS_Q6SS_AHBS_AON_CLK>,
> +				 <&lpasscc LPASS_Q6SS_AHBM_AON_CLK>,
> +				 <&lpasscc LPASS_QDSP6SS_XO_CLK>,
> +				 <&lpasscc LPASS_QDSP6SS_SLEEP_CLK>,
> +				 <&lpasscc LPASS_QDSP6SS_CORE_CLK>;
> +
> +			clock-names = "xo", "sway_cbcr", "lpass_ahbs_aon_cbcr",
> +				      "lpass_ahbm_aon_cbcr", "qdsp6ss_xo",
> +				      "qdsp6ss_sleep", "qdsp6ss_core";
> +
> +			resets = <&pdc_reset PDC_AUDIO_SYNC_RESET>,
> +				 <&aoss_reset AOSS_CC_LPASS_RESTART>;
> +			reset-names = "pdc_sync", "cc_lpass";
> +
> +			qcom,halt-regs = <&tcsr_mutex_regs 0x22000>;
> +
> +			memory-region = <&pil_adsp_mem>;
> +
> +			qcom,smem-states = <&adsp_smp2p_out 0>;
> +			qcom,smem-state-names = "stop";
> +
> +			glink-edge {

So we will end up duplicating these between the PAS based and non-PAS
based remoteprocs. I don't have a better idea right now, but this
deserves some thought.

> +				compatible = "qcom,glink-smem";
> +				interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;

s/0/GIC_SPI/

> +
> +				label = "lpass";
> +				qcom,remote-pid = <2>;
> +				mboxes = <&apss_shared 8>;
> +				mbox-names = "adsp_smem";

mbox-names is not a documented property, please omit it.

> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				apr@4 {
> +					compatible = "qcom,apr-v2";
> +					qcom,glink-channels = "apr_audio_svc";
> +					reg = <APR_DOMAIN_ADSP>;
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					q6core {
> +						compatible = "qcom,q6core";
> +						reg = <APR_SVC_ADSP_CORE>;
> +					};
> +
> +					q6afe {
> +						compatible = "qcom,q6afe";
> +						reg = <APR_SVC_AFE>;
> +						q6afedai: afedais {
> +							compatible = "qcom,q6afe-dais";
> +							#sound-dai-cells = <1>;
> +							#address-cells = <1>;
> +							#size-cells = <0>;
> +						};
> +					};
> +
> +					q6asm {
> +						compatible = "qcom,q6asm";
> +						reg = <APR_SVC_ASM>;
> +						q6asmdai: asmdai{
> +							compatible = "qcom,q6asm-dais";
> +							iommus = <&apps_smmu 0x1821 0x0>;
> +							#sound-dai-cells = <1>;
> +						};
> +					};
> +
> +					q6adm {
> +						compatible = "qcom,q6adm";
> +						reg = <APR_SVC_ADM>;
> +						q6routing: routing {
> +							compatible = "qcom,q6adm-routing";
> +							#sound-dai-cells = <0>;
> +						};
> +					};
> +				};
> +			};
> +			status = "disabled";

Properties must come before subnodes.

> +		};

Regards,
Bjorn

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ