From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com>,
"Will Deacon" <will@kernel.org>,
"Robin Murphy" <robin.murphy@arm.com>,
"Joerg Roedel" <joro@8bytes.org>, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Viresh Kumar" <viresh.kumar@linaro.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>,
"Vinod Koul" <vkoul@kernel.org>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Robert Marko" <robimarko@gmail.com>,
"Das Srinagesh" <quic_gurus@quicinc.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Jassi Brar" <jassisinghbrar@gmail.com>,
"Amit Kucheria" <amitk@kernel.org>,
"Thara Gopinath" <thara.gopinath@gmail.com>,
"Daniel Lezcano" <daniel.lezcano@linaro.org>,
"Zhang Rui" <rui.zhang@intel.com>,
"Lukasz Luba" <lukasz.luba@arm.com>,
"Ulf Hansson" <ulf.hansson@linaro.org>
Cc: <~postmarketos/upstreaming@lists.sr.ht>,
<phone-devel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>, <iommu@lists.linux.dev>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-pm@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
<linux-crypto@vger.kernel.org>, <dmaengine@vger.kernel.org>,
<linux-mmc@vger.kernel.org>
Subject: Re: [PATCH v2 14/15] arm64: dts: qcom: Add initial Milos dtsi
Date: Thu, 17 Jul 2025 10:29:35 +0200 [thread overview]
Message-ID: <DBE6TK1KDOTP.IIT72I1LUN5M@fairphone.com> (raw)
In-Reply-To: <3e0299ad-766a-4876-912e-438fe2cc856d@oss.qualcomm.com>
On Mon Jul 14, 2025 at 1:06 PM CEST, Konrad Dybcio wrote:
> On 7/13/25 10:05 AM, Luca Weiss wrote:
>> Add a devicetree description for the Milos SoC, which is for example
>> Snapdragon 7s Gen 3 (SM7635).
>>
>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>> ---
>
> [...]
>
>> + cpu-map {
>> + cluster0 {
>> + core0 {
>> + cpu = <&cpu0>;
>> + };
>> +
>> + core1 {
>> + cpu = <&cpu1>;
>> + };
>> +
>> + core2 {
>> + cpu = <&cpu2>;
>> + };
>> +
>> + core3 {
>> + cpu = <&cpu3>;
>> + };
>> + };
>> +
>> + cluster1 {
>> + core0 {
>> + cpu = <&cpu4>;
>> + };
>> +
>> + core1 {
>> + cpu = <&cpu5>;
>> + };
>> +
>> + core2 {
>> + cpu = <&cpu6>;
>> + };
>> + };
>> +
>> + cluster2 {
>> + core0 {
>> + cpu = <&cpu7>;
>> + };
>> + };
>> + };
>
> I'm getting mixed information about the core topology..
>
> What does dmesg say wrt this line?
>
> CPU%u: Booted secondary processor 0x%010lx [0x%08x]\n
[ 0.003570] CPU1: Booted secondary processor 0x0000000100 [0x410fd801]
[ 0.004738] CPU2: Booted secondary processor 0x0000000200 [0x410fd801]
[ 0.005783] CPU3: Booted secondary processor 0x0000000300 [0x410fd801]
[ 0.007206] CPU4: Booted secondary processor 0x0000000400 [0x410fd811]
[ 0.008206] CPU5: Booted secondary processor 0x0000000500 [0x410fd811]
[ 0.009073] CPU6: Booted secondary processor 0x0000000600 [0x410fd811]
[ 0.010406] CPU7: Booted secondary processor 0x0000000700 [0x410fd811]
>
>> + pmu-a520 {
>> + compatible = "arm,cortex-a520-pmu";
>> + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
>> + };
>> +
>> + pmu-a720 {
>> + compatible = "arm,cortex-a720-pmu";
>> + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
>> + };
>
> See:
>
> 9ce52e908bd5 ("arm64: dts: qcom: sm8650: switch to interrupt-cells 4 to add PPI partitions")
> 2c06e0797c32 ("arm64: dts: qcom: sm8650: add PPI interrupt partitions for the ARM PMUs")
Sure, will take a look.
>
> [...]
>
>> + gcc: clock-controller@100000 {
>> + compatible = "qcom,milos-gcc";
>> + reg = <0x0 0x00100000 0x0 0x1f4200>;
>> +
>> + clocks = <&rpmhcc RPMH_CXO_CLK>,
>> + <&sleep_clk>,
>> + <0>, /* pcie_0_pipe_clk */
>> + <0>, /* pcie_1_pipe_clk */
>> + <0>, /* ufs_phy_rx_symbol_0_clk */
>> + <0>, /* ufs_phy_rx_symbol_1_clk */
>> + <0>, /* ufs_phy_tx_symbol_0_clk */
>> + <0>; /* usb3_phy_wrapper_gcc_usb30_pipe_clk */
>> + protected-clocks = <GCC_PCIE_1_AUX_CLK>, <GCC_PCIE_1_AUX_CLK_SRC>,
>> + <GCC_PCIE_1_CFG_AHB_CLK>, <GCC_PCIE_1_MSTR_AXI_CLK>,
>> + <GCC_PCIE_1_PHY_RCHNG_CLK>, <GCC_PCIE_1_PHY_RCHNG_CLK_SRC>,
>> + <GCC_PCIE_1_PIPE_CLK>, <GCC_PCIE_1_PIPE_CLK_SRC>,
>> + <GCC_PCIE_1_PIPE_DIV2_CLK>, <GCC_PCIE_1_PIPE_DIV2_CLK_SRC>,
>> + <GCC_PCIE_1_SLV_AXI_CLK>, <GCC_PCIE_1_SLV_Q2A_AXI_CLK>;
>
> Does access control disallow accessing these on your prod-fused
> device?
Hm, taking another look, this property should probably be moved to
device dts.
Downstream has this in volcano.dtsi but volcano6i.dtsi (QCM6690?) and
volcano6ip.dtsi (QCS6690?) have a /delete-property/ for this, because
they have PCIe available.
I don't think this has anything to do with secure boot fuses, but I
don't think I have tried enabling these clocks on my SB-off prototype.
>
> [...]
>
>> + usb_1: usb@a600000 {
>> + compatible = "qcom,milos-dwc3", "qcom,snps-dwc3";
>> + reg = <0x0 0x0a600000 0x0 0x10000>;
>
> size = 0xfc_000
Ack
>
> [...]
>
>> +
>> + clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
>> + <&gcc GCC_USB30_PRIM_MASTER_CLK>,
>> + <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
>> + <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
>> + <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>> + <&rpmhcc RPMH_CXO_CLK>;
>> + clock-names = "cfg_noc",
>> + "core",
>> + "iface",
>> + "sleep",
>> + "mock_utmi",
>> + "xo";
>> +
>> + assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>> + <&gcc GCC_USB30_PRIM_MASTER_CLK>;
>> + assigned-clock-rates = <19200000>, <133333333>;
>
> Set the latter to 200000000 - your device doesn't have USB3, but the
> next person may lose their hair about tracking down why it doesn't
> work on theirs
Ah, I think I only checked the downstream reference which was patched to
be qcom,core-clk-rate = <133333333>; for FP6. The original file does
have:
qcom,core-clk-rate = <200000000>;
qcom,core-clk-rate-disconnected = <133333333>;
>
> [...]
>
>> + pdc: interrupt-controller@b220000 {
>> + compatible = "qcom,milos-pdc", "qcom,pdc";
>> + reg = <0x0 0x0b220000 0x0 0x30000>, <0x0 0x174000f0 0x0 0x64>;
>
> 1 per line, please
Ack
>
>> + interrupt-parent = <&intc>;
>> +
>> + qcom,pdc-ranges = <0 480 40>, <40 140 11>, <51 527 47>,
>> + <98 609 31>, <129 63 1>, <130 716 12>,
>> + <142 251 5>;
>> +
>> + #interrupt-cells = <2>;
>> + interrupt-controller;
>> + };
>> +
>> + tsens0: thermal-sensor@c228000 {
>> + compatible = "qcom,milos-tsens", "qcom,tsens-v2";
>> + reg = <0x0 0x0c228000 0x0 0x1ff>, /* TM */
>> + <0x0 0x0c222000 0x0 0x1ff>; /* SROT */
>
> drop the comments
>
> the sizes are 0x1000 for both regions for both controllers
Ack
>
>> +
>> + interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
>
> pdc 26
You mean replace <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH> with
<&pdc 26 IRQ_TYPE_LEVEL_HIGH> (plus interrupts-extended)?
I assume you got this from internal docs, but just to mention,
volcano-thermal.dtsi contains GIC_SPI 506 (+ 507 for tsens1).
>
>> + <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH>;
>> + interrupt-names = "uplow",
>> + "critical";
>> +
>> + #qcom,sensors = <15>;
>> +
>> + #thermal-sensor-cells = <1>;
>> + };
>> +
>> + tsens1: thermal-sensor@c229000 {
>> + compatible = "qcom,milos-tsens", "qcom,tsens-v2";
>> + reg = <0x0 0x0c229000 0x0 0x1ff>, /* TM */
>> + <0x0 0x0c223000 0x0 0x1ff>; /* SROT */
>> +
>> + interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
>
> pdc 27
same as above
>
>> + <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>;
>> + interrupt-names = "uplow",
>> + "critical";
>> +
>> + #qcom,sensors = <14>;
>> +
>> + #thermal-sensor-cells = <1>;
>> + };
>> +
>> + aoss_qmp: power-management@c300000 {
>> + compatible = "qcom,milos-aoss-qmp", "qcom,aoss-qmp";
>> + reg = <0x0 0x0c300000 0x0 0x400>;
>> +
>> + interrupt-parent = <&ipcc>;
>> + interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
>> + IRQ_TYPE_EDGE_RISING>;
>> +
>> + mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
>> +
>> + #clock-cells = <0>;
>> + };
>> +
>> + sram@c3f0000 {
>> + compatible = "qcom,rpmh-stats";
>> + reg = <0x0 0x0c3f0000 0x0 0x400>;
>> + };
>> +
>> + spmi_bus: spmi@c400000 {
>> + compatible = "qcom,spmi-pmic-arb";
>
> There's two bus instances on this platform, check out the x1e binding
Will do
>
> [...]
>
>> + intc: interrupt-controller@17100000 {
>> + compatible = "arm,gic-v3";
>> + reg = <0x0 0x17100000 0x0 0x10000>, /* GICD */
>> + <0x0 0x17180000 0x0 0x200000>; /* GICR * 8 */
>
> drop the comments please
Ack
>
> [...]
>
>> + clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
>> + clock-names = "xo", "alternate";
>
> 1 a line, please
Ack
>
> [...]
>
>> + cpuss0-thermal {
>> + thermal-sensors = <&tsens0 1>;
>> +
>> + trips {
>> + cpuss0-hot {
>> + temperature = <110000>;
>> + hysteresis = <1000>;
>> + type = "hot";
>> + };
>> +
>> + cpuss0-critical {
>> + temperature = <115000>;
>> + hysteresis = <0>;
>> + type = "critical";
>> + };
>> + };
>> + };
>
> See:
>
> 06eadce93697 ("arm64: dts: qcom: x1e80100: Drop unused passive thermal trip points for CPU")
>
> (tldr drop non-critical trips for CPU)
Will take a look.
Regards
Luca
>
> Konrad
next prev parent reply other threads:[~2025-07-17 8:29 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-13 8:05 [PATCH v2 00/15] Various dt-bindings for Milos and The Fairphone (Gen. 6) addition Luca Weiss
2025-07-13 8:05 ` [PATCH v2 01/15] dt-bindings: arm-smmu: document the support on Milos Luca Weiss
2025-07-15 3:25 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 02/15] dt-bindings: cpufreq: qcom-hw: document Milos CPUFREQ Hardware Luca Weiss
2025-07-15 3:27 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 03/15] dt-bindings: crypto: qcom,prng: document Milos Luca Weiss
2025-07-15 3:27 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 04/15] dt-bindings: firmware: qcom,scm: document Milos SCM Firmware Interface Luca Weiss
2025-07-15 3:27 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 05/15] dt-bindings: qcom,pdc: document the Milos Power Domain Controller Luca Weiss
2025-07-15 3:28 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 06/15] dt-bindings: mailbox: qcom-ipcc: document the Milos Inter-Processor Communication Controller Luca Weiss
2025-07-15 3:28 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 07/15] dt-bindings: soc: qcom,aoss-qmp: document the Milos Always-On Subsystem side channel Luca Weiss
2025-07-15 3:28 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 08/15] dt-bindings: thermal: qcom-tsens: document the Milos Temperature Sensor Luca Weiss
2025-07-15 3:28 ` Rob Herring (Arm)
2025-07-17 8:45 ` Daniel Lezcano
2025-07-13 8:05 ` [PATCH v2 09/15] dt-bindings: dma: qcom,gpi: document the Milos GPI DMA Engine Luca Weiss
2025-07-15 3:29 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 10/15] dt-bindings: mmc: sdhci-msm: document the Milos SDHCI Controller Luca Weiss
2025-07-15 3:29 ` Rob Herring (Arm)
2025-07-15 14:29 ` Ulf Hansson
2025-07-13 8:05 ` [PATCH v2 11/15] dt-bindings: soc: qcom: qcom,pmic-glink: document Milos compatible Luca Weiss
2025-07-15 3:29 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 12/15] dt-bindings: arm: qcom: Add Milos and The Fairphone (Gen. 6) Luca Weiss
2025-07-15 3:29 ` Rob Herring (Arm)
2025-07-13 8:05 ` [PATCH v2 13/15] arm64: dts: qcom: pm8550vs: Disable different PMIC SIDs by default Luca Weiss
2025-07-14 10:45 ` Konrad Dybcio
2025-07-13 8:05 ` [PATCH v2 14/15] arm64: dts: qcom: Add initial Milos dtsi Luca Weiss
2025-07-14 11:06 ` Konrad Dybcio
2025-07-17 8:29 ` Luca Weiss [this message]
2025-07-17 9:46 ` Luca Weiss
2025-07-29 6:49 ` Luca Weiss
2025-08-02 12:04 ` Konrad Dybcio
2025-08-20 8:42 ` Luca Weiss
2025-08-20 11:52 ` Dmitry Baryshkov
2025-08-25 15:53 ` Luca Weiss
2025-08-25 16:36 ` Dmitry Baryshkov
2025-08-25 16:40 ` Luca Weiss
2025-07-17 12:26 ` Konrad Dybcio
2025-07-23 15:36 ` neil.armstrong
2025-07-13 8:05 ` [PATCH v2 15/15] arm64: dts: qcom: Add The Fairphone (Gen. 6) Luca Weiss
2025-07-14 12:19 ` Konrad Dybcio
2025-07-14 12:32 ` Luca Weiss
2025-07-15 11:57 ` [PATCH v2 00/15] Various dt-bindings for Milos and The Fairphone (Gen. 6) addition Will Deacon
2025-07-17 4:31 ` (subset) " Bjorn Andersson
2025-07-23 12:29 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DBE6TK1KDOTP.IIT72I1LUN5M@fairphone.com \
--to=luca.weiss@fairphone.com \
--cc=amitk@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=iommu@lists.linux.dev \
--cc=jassisinghbrar@gmail.com \
--cc=joro@8bytes.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=mani@kernel.org \
--cc=phone-devel@vger.kernel.org \
--cc=quic_gurus@quicinc.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=robimarko@gmail.com \
--cc=robin.murphy@arm.com \
--cc=rui.zhang@intel.com \
--cc=tglx@linutronix.de \
--cc=thara.gopinath@gmail.com \
--cc=ulf.hansson@linaro.org \
--cc=viresh.kumar@linaro.org \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).