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] [day] [month] [year] [list]
Message-ID: <fv4jz6unxpncqazgptet4ie67vdrqqnq3owpjuh7huqvepoozd@yelivqgci2om>
Date: Sun, 31 Aug 2025 13:00:23 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Barnabás Czémán <barnabas.czeman@...nlining.org>
Cc: Bjorn Andersson <andersson@...nel.org>,
        Michael Turquette <mturquette@...libre.com>,
        Stephen Boyd <sboyd@...nel.org>, Rob Herring <robh@...nel.org>,
        Krzysztof Kozlowski <krzk+dt@...nel.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Stephan Gerhold <stephan@...hold.net>,
        Otto Pflüger <otto.pflueger@...cue.de>,
        Linus Walleij <linus.walleij@...aro.org>, Lee Jones <lee@...nel.org>,
        Joerg Roedel <joro@...tes.org>, Will Deacon <will@...nel.org>,
        Robin Murphy <robin.murphy@....com>,
        Konrad Dybcio <konradybcio@...nel.org>, Sean Paul <sean@...rly.run>,
        Abhinav Kumar <quic_abhinavk@...cinc.com>,
        Marijn Suijten <marijn.suijten@...ainline.org>,
        David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
        Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
        Maxime Ripard <mripard@...nel.org>,
        Thomas Zimmermann <tzimmermann@...e.de>,
        Dmitry Baryshkov <lumag@...nel.org>,
        Adam Skladowski <a_skl39@...tonmail.com>,
        Sireesh Kodali <sireeshkodali@...tonmail.com>,
        Rob Clark <robin.clark@....qualcomm.com>,
        Abhinav Kumar <abhinav.kumar@...ux.dev>,
        Jessica Zhang <jessica.zhang@....qualcomm.com>,
        Srinivas Kandagatla <srini@...nel.org>, linux-arm-msm@...r.kernel.org,
        linux-clk@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
        iommu@...ts.linux.dev, dri-devel@...ts.freedesktop.org,
        freedreno@...ts.freedesktop.org, phone-devel@...r.kernel.org,
        ~postmarketos/upstreaming@...ts.sr.ht, linux@...nlining.org,
        Dang Huynh <danct12@...eup.net>
Subject: Re: [PATCH v7 4/6] arm64: dts: qcom: Add initial support for MSM8937

On Sun, Aug 31, 2025 at 12:38:16AM +0200, Barnabás Czémán wrote:
> From: Dang Huynh <danct12@...eup.net>
> 
> Add initial support for MSM8937 SoC.
> 
> Signed-off-by: Dang Huynh <danct12@...eup.net>
> Co-developed-by: Barnabás Czémán <barnabas.czeman@...nlining.org>
> Signed-off-by: Barnabás Czémán <barnabas.czeman@...nlining.org>
> ---
>  arch/arm64/boot/dts/qcom/msm8937.dtsi | 2134 +++++++++++++++++++++++++++++++++
>  1 file changed, 2134 insertions(+)

> +	};
> +
> +
> +	firmware {
> +		scm: scm {
> +			compatible = "qcom,scm-msm8916", "qcom,scm";

"qcom,scm-msm8937", "qcom,scm"

> +			clocks = <&gcc GCC_CRYPTO_CLK>,
> +				 <&gcc GCC_CRYPTO_AXI_CLK>,
> +				 <&gcc GCC_CRYPTO_AHB_CLK>;
> +			clock-names = "core",
> +				      "bus",
> +				      "iface";
> +			#reset-cells = <1>;
> +
> +			qcom,dload-mode = <&tcsr 0x6100>;
> +		};
> +	};
> +
> +	memory@...00000 {
> +		/* We expect the bootloader to fill in the reg */
> +		reg = <0 0x80000000 0 0>;
> +		device_type = "memory";
> +	};
> +
> +	reserved-memory {
> +		ranges;
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +
> +		qseecom_mem: reserved@...00000 {
> +			reg = <0x0 0x85b00000 0x0 0x800000>;
> +			no-map;
> +		};
> +
> +		smem@...00000 {
> +			compatible = "qcom,smem";
> +			reg = <0x0 0x86300000 0x0 0x100000>;
> +			no-map;
> +
> +			hwlocks = <&tcsr_mutex 3>;
> +			qcom,rpm-msg-ram = <&rpm_msg_ram>;
> +		};
> +
> +		reserved@...00000 {
> +			reg = <0x0 0x86400000 0x0 0x400000>;
> +			no-map;
> +		};
> +
> +		rmtfs@...00000 {
> +			compatible = "qcom,rmtfs-mem";
> +			reg = <0x0 0x92100000 0x0 0x180000>;
> +			no-map;
> +
> +			qcom,client-id = <1>;
> +		};
> +
> +		adsp_mem: adsp {
> +			size = <0x0 0x1100000>;
> +			alignment = <0x0 0x100000>;
> +			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
> +			no-map;
> +			status = "disabled";
> +		};
> +
> +		mba_mem: mba {
> +			size = <0x0 0x100000>;
> +			alignment = <0x0 0x100000>;
> +			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
> +			no-map;
> +			status = "disabled";
> +		};
> +
> +		wcnss_mem: wcnss {
> +			size = <0x0 0x700000>;
> +			alignment = <0x0 0x100000>;
> +			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
> +			no-map;
> +			status = "disabled";
> +		};
> +
> +		venus_mem: venus {
> +			size = <0x0 0x400000>;
> +			alignment = <0x0 0x100000>;
> +			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
> +			no-map;
> +			status = "disabled";
> +		};
> +	};
> +
> +	cpu_opp_table_c0: opp-table-c0 {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		opp-768000000 {
> +			opp-hz = /bits/ 64 <768000000>;
> +		};
> +
> +		opp-902400000 {
> +			opp-hz = /bits/ 64 <902400000>;
> +		};
> +
> +		opp-998400000 {
> +			opp-hz = /bits/ 64 <998400000>;
> +		};
> +
> +		opp-1094400000 {
> +			opp-hz = /bits/ 64 <1094400000>;
> +		};
> +	};
> +
> +	cpu_opp_table_c1: opp-table-c1 {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		opp-960000000 {
> +			opp-hz = /bits/ 64 <960000000>;
> +		};
> +
> +		opp-1094400000 {
> +			opp-hz = /bits/ 64 <1094400000>;
> +		};
> +
> +		opp-1209600000 {
> +			opp-hz = /bits/ 64 <1209600000>;
> +		};
> +
> +		opp-1248000000 {
> +			opp-hz = /bits/ 64 <1248000000>;
> +		};
> +
> +		opp-1344000000 {
> +			opp-hz = /bits/ 64 <1344000000>;
> +		};
> +
> +		opp-1401600000 {
> +			opp-hz = /bits/ 64 <1401600000>;
> +		};
> +	};
> +
> +	pmu {
> +		compatible = "arm,cortex-a53-pmu";
> +		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
> +	};
> +
> +	psci {
> +		compatible = "arm,psci-1.0";
> +		method = "smc";
> +	};
> +
> +	rpm: remoteproc {
> +		compatible = "qcom,msm8937-rpm-proc", "qcom,rpm-proc";
> +
> +		smd-edge {
> +			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
> +			qcom,ipc = <&apcs1 8 0>;
> +			qcom,smd-edge = <15>;
> +
> +			rpm_requests: rpm-requests {
> +				compatible = "qcom,rpm-msm8937", "qcom,smd-rpm";
> +				qcom,smd-channels = "rpm_requests";
> +
> +				rpmcc: clock-controller {
> +					compatible = "qcom,rpmcc-msm8937", "qcom,rpmcc";
> +					#clock-cells = <1>;
> +					clocks = <&xo_board>;
> +					clock-names = "xo";
> +				};
> +
> +				rpmpd: power-controller {
> +					compatible = "qcom,msm8937-rpmpd", "qcom,msm8917-rpmpd";
> +					#power-domain-cells = <1>;
> +					operating-points-v2 = <&rpmpd_opp_table>;
> +
> +					rpmpd_opp_table: opp-table {
> +						compatible = "operating-points-v2";
> +
> +						rpmpd_opp_ret: opp1 {
> +							opp-level = <RPM_SMD_LEVEL_RETENTION>;
> +						};
> +
> +						rpmpd_opp_ret_plus: opp2 {
> +							opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
> +						};
> +
> +						rpmpd_opp_min_svs: opp3 {
> +							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
> +						};
> +
> +						rpmpd_opp_low_svs: opp4 {
> +							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
> +						};
> +
> +						rpmpd_opp_svs: opp5 {
> +							opp-level = <RPM_SMD_LEVEL_SVS>;
> +						};
> +
> +						rpmpd_opp_svs_plus: opp6 {
> +							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
> +						};
> +
> +						rpmpd_opp_nom: opp7 {
> +							opp-level = <RPM_SMD_LEVEL_NOM>;
> +						};
> +
> +						rpmpd_opp_nom_plus: opp8 {
> +							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
> +						};
> +
> +						rpmpd_opp_turbo: opp9 {
> +							opp-level = <RPM_SMD_LEVEL_TURBO>;
> +						};
> +					};
> +				};
> +			};
> +		};
> +	};
> +
> +	smp2p-adsp {
> +		compatible = "qcom,smp2p";
> +		qcom,smem = <443>, <429>;
> +
> +		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
> +
> +		mboxes = <&apcs1 10>;
> +
> +		qcom,local-pid = <0>;
> +		qcom,remote-pid = <2>;
> +
> +		adsp_smp2p_out: master-kernel {
> +			qcom,entry-name = "master-kernel";
> +
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		adsp_smp2p_in: slave-kernel {
> +			qcom,entry-name = "slave-kernel";
> +
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +	};
> +
> +	smp2p-modem {
> +		compatible = "qcom,smp2p";
> +		qcom,smem = <435>, <428>;
> +
> +		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
> +
> +		mboxes = <&apcs1 14>;
> +
> +		qcom,local-pid = <0>;
> +		qcom,remote-pid = <1>;
> +
> +		modem_smp2p_out: master-kernel {
> +			qcom,entry-name = "master-kernel";
> +
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		modem_smp2p_in: slave-kernel {
> +			qcom,entry-name = "slave-kernel";
> +
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +	};
> +
> +	smp2p-wcnss {
> +		compatible = "qcom,smp2p";
> +		qcom,smem = <451>, <431>;
> +
> +		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
> +
> +		mboxes = <&apcs1 18>;
> +
> +		qcom,local-pid = <0>;
> +		qcom,remote-pid = <4>;
> +
> +		wcnss_smp2p_out: master-kernel {
> +			qcom,entry-name = "master-kernel";
> +
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		wcnss_smp2p_in: slave-kernel {
> +			qcom,entry-name = "slave-kernel";
> +
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +	};
> +
> +	smsm {
> +		compatible = "qcom,smsm";
> +
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		mboxes = <0>, <&apcs1 13>, <0>, <&apcs1 19>;
> +
> +		apps_smsm: apps@0 {
> +			reg = <0>;
> +
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		hexagon_smsm: hexagon@1 {
> +			reg = <1>;
> +			interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
> +
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +
> +		wcnss_smsm: wcnss@6 {
> +			reg = <6>;
> +			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
> +
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +	};
> +
> +	soc: soc@0 {
> +		compatible = "simple-bus";
> +		ranges = <0 0 0 0xffffffff>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		qfprom: qfprom@...00 {
> +			compatible = "qcom,msm8937-qfprom", "qcom,qfprom";
> +			reg = <0x000a4000 0x1000>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			tsens_base1: base1@1d8 {
> +				reg = <0x1d8 0x1>;
> +				bits = <0 8>;
> +			};
> +
> +			tsens_s5_p1: s5-p1@1d9 {
> +				reg = <0x1d9 0x1>;
> +				bits = <0 6>;
> +			};
> +
> +			tsens_s5_p2: s5-p2@1d9 {
> +				reg = <0x1d9 0x2>;
> +				bits = <6 6>;
> +			};
> +
> +			tsens_s6_p1: s6-p1@1da {
> +				reg = <0x1da 0x2>;
> +				bits = <4 6>;
> +			};
> +
> +			tsens_s6_p2: s6-p2@1db {
> +				reg = <0x1db 0x1>;
> +				bits = <2 6>;
> +			};
> +
> +			tsens_s7_p1: s7-p1@1dc {
> +				reg = <0x1dc 0x1>;
> +				bits = <0 6>;
> +			};
> +
> +			tsens_s7_p2: s7-p2@1dc {
> +				reg = <0x1dc 0x2>;
> +				bits = <6 6>;
> +			};
> +
> +			tsens_s8_p1: s8-p1@1dd {
> +				reg = <0x1dd 0x2>;
> +				bits = <4 6>;
> +			};
> +
> +			tsens_s8_p2: s8-p2@1de {
> +				reg = <0x1de 0x1>;
> +				bits = <2 6>;
> +			};
> +
> +			tsens_base2: base2@1df {
> +				reg = <0x1df 0x1>;
> +				bits = <0 8>;
> +			};
> +
> +			tsens_mode: mode@210 {
> +				reg = <0x210 0x1>;
> +				bits = <0 3>;
> +			};
> +
> +			tsens_s0_p1: s0-p1@210 {
> +				reg = <0x210 0x2>;
> +				bits = <3 6>;
> +			};
> +
> +			tsens_s0_p2: s0-p2@211 {
> +				reg = <0x211 0x1>;
> +				bits = <1 6>;
> +			};
> +
> +			tsens_s1_p1: s1-p1@211 {
> +				reg = <0x211 0x2>;
> +				bits = <7 6>;
> +			};
> +
> +			tsens_s1_p2: s1-p2@212 {
> +				reg = <0x212 0x2>;
> +				bits = <5 6>;
> +			};
> +
> +			tsens_s2_p1: s2-p1@213 {
> +				reg = <0x213 0x2>;
> +				bits = <3 6>;
> +			};
> +
> +			tsens_s2_p2: s2-p2@214 {
> +				reg = <0x214 0x1>;
> +				bits = <1 6>;
> +			};
> +
> +			tsens_s3_p1: s3-p1@214 {
> +				reg = <0x214 0x2>;
> +				bits = <7 6>;
> +			};
> +
> +			tsens_s3_p2: s3-p2@215 {
> +				reg = <0x215 0x2>;
> +				bits = <5 6>;
> +			};
> +
> +			tsens_s4_p1: s4-p1@216 {
> +				reg = <0x216 0x2>;
> +				bits = <3 6>;
> +			};
> +
> +			tsens_s4_p2: s4-p2@217 {
> +				reg = <0x217 0x1>;
> +				bits = <1 6>;
> +			};
> +
> +			tsens_s9_p1: s9-p1@230 {
> +				reg = <0x230 0x1>;
> +				bits = <0 6>;
> +			};
> +
> +			tsens_s9_p2: s9-p2@230 {
> +				reg = <0x230 0x2>;
> +				bits = <6 6>;
> +			};
> +
> +			tsens_s10_p1: s10-p1@231 {
> +				reg = <0x231 0x2>;
> +				bits = <4 6>;
> +			};
> +
> +			tsens_s10_p2: s10-p2@232 {
> +				reg = <0x232 0x1>;
> +				bits = <2 6>;
> +			};
> +
> +			gpu_speed_bin: gpu-speed-bin@...b {
> +				reg = <0x601b 0x1>;
> +				bits = <7 1>;
> +			};
> +		};
> +
> +		usb_hs_phy: phy@...00 {
> +			compatible = "qcom,usb-hs-28nm-femtophy";
> +			reg = <0x0006c000 0x200>;
> +			#phy-cells = <0>;
> +			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> +				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
> +				 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
> +			clock-names = "ref",
> +				      "ahb",
> +				      "sleep";
> +			resets = <&gcc GCC_QUSB2_PHY_BCR>,
> +				 <&gcc GCC_USB2_HS_PHY_ONLY_BCR>;
> +			reset-names = "phy",
> +				      "por";
> +			status = "disabled";
> +		};
> +
> +		rng@...00 {
> +			compatible = "qcom,prng";
> +			reg = <0x000e3000 0x1000>;
> +			clocks = <&gcc GCC_PRNG_AHB_CLK>;
> +			clock-names = "core";
> +		};
> +
> +		tsens: thermal-sensor@...000 {
> +			compatible = "qcom,msm8937-tsens", "qcom,tsens-v1";
> +			reg = <0x004a9000 0x1000>,
> +			      <0x004a8000 0x1000>;
> +			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "uplow";
> +			nvmem-cells = <&tsens_mode>,
> +				      <&tsens_base1>, <&tsens_base2>,
> +				      <&tsens_s0_p1>, <&tsens_s0_p2>,
> +				      <&tsens_s1_p1>, <&tsens_s1_p2>,
> +				      <&tsens_s2_p1>, <&tsens_s2_p2>,
> +				      <&tsens_s3_p1>, <&tsens_s3_p2>,
> +				      <&tsens_s4_p1>, <&tsens_s4_p2>,
> +				      <&tsens_s5_p1>, <&tsens_s5_p2>,
> +				      <&tsens_s6_p1>, <&tsens_s6_p2>,
> +				      <&tsens_s7_p1>, <&tsens_s7_p2>,
> +				      <&tsens_s8_p1>, <&tsens_s8_p2>,
> +				      <&tsens_s9_p1>, <&tsens_s9_p2>,
> +				      <&tsens_s10_p1>, <&tsens_s10_p2>;
> +			nvmem-cell-names = "mode",
> +					   "base1", "base2",
> +					   "s0_p1", "s0_p2",
> +					   "s1_p1", "s1_p2",
> +					   "s2_p1", "s2_p2",
> +					   "s3_p1", "s3_p2",
> +					   "s4_p1", "s4_p2",
> +					   "s5_p1", "s5_p2",
> +					   "s6_p1", "s6_p2",
> +					   "s7_p1", "s7_p2",
> +					   "s8_p1", "s8_p2",
> +					   "s9_p1", "s9_p2",
> +					   "s10_p1", "s10_p2";
> +			#qcom,sensors = <11>;
> +			#thermal-sensor-cells = <1>;
> +		};
> +
> +		rpm_msg_ram: sram@...00 {

This node is wrongly placed.

> +			compatible = "qcom,rpm-msg-ram";
> +			reg = <0x00060000 0x8000>;
> +		};
> +
> +		restart@...000 {
> +			compatible = "qcom,pshold";
> +			reg = <0x004ab000 0x4>;
> +		};
> +

-- 
With best wishes
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ