linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/5] dts: qcom: Introduce X1E80100 platforms device tree
@ 2023-11-17 11:39 Sibi Sankar
  2023-11-17 11:39 ` [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible Sibi Sankar
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Sibi Sankar @ 2023-11-17 11:39 UTC (permalink / raw)
  To: andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong, Sibi Sankar

This series adds the initial (clocks, pinctrl, rpmhpd, regulator, interconnect,
CPU, SoC and board compatibles) device tree support to boot to shell on the
Qualcomm X1E80100 platform, aka Snapdragon X Elite.

Our v1 post of the patchsets adding support for Snapdragon X Elite SoC had
the part number sc8380xp which is now updated to the new part number x1e80100
based on the new branding scheme and refers to the exact same SoC.

v2:
* Update the part number from sc8380xp to x1e80100.
* Fixup ordering in the SoC/board bindings. [Krzysztof]
* Add pdc node and add wakeup tlmm parent. [Rajendra]
* Add cpu/cluster idle states. [Bjorn]
* Document reserved gpios. [Konrad]
* Remove L1 and add missing props to L2. [Konrad]
* Remove region suffix. [Konrad]
* Append digits to gcc node. [Konrad]
* Add ICC_TAGS instead of leaving it unspecified. [Konrad]
* Remove double space. [Konrad]
* Leave the size index of memory node untouched. [Konrad]
* Override the serial uart with "qcom,geni-debug-uart" in the board files. [Rajendra]
* Add additional details to patch 5 commit message. [Konrad/Krzysztof]

Dependencies:
clks: https://lore.kernel.org/lkml/20231117092737.28362-1-quic_sibis@quicinc.com/
interconnect: https://lore.kernel.org/lkml/20231117103035.25848-1-quic_sibis@quicinc.com/
llcc: https://lore.kernel.org/lkml/20231117095315.2087-1-quic_sibis@quicinc.com/
misc-bindings: https://lore.kernel.org/lkml/20231117105635.343-1-quic_sibis@quicinc.com/
pinctrl: https://lore.kernel.org/lkml/20231117093921.31968-1-quic_sibis@quicinc.com/
rpmhpd: https://lore.kernel.org/lkml/20231117104254.28862-1-quic_sibis@quicinc.com/

Release Link: https://www.qualcomm.com/news/releases/2023/10/qualcomm-unleashes-snapdragon-x-elite--the-ai-super-charged-plat

Rajendra Nayak (4):
  dt-bindings: arm: cpus: Add qcom,oryon compatible
  dt-bindings: arm: qcom: Document X1E80100 SoC and boards
  arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
  arm64: defconfig: Enable X1E80100 SoC base configs

Sibi Sankar (1):
  arm64: dts: qcom: x1e80100: Add Compute Reference Device

 .../devicetree/bindings/arm/cpus.yaml         |    1 +
 .../devicetree/bindings/arm/qcom.yaml         |    8 +
 arch/arm64/boot/dts/qcom/Makefile             |    2 +
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts     |  425 ++
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts     |  400 ++
 arch/arm64/boot/dts/qcom/x1e80100.dtsi        | 3509 +++++++++++++++++
 arch/arm64/configs/defconfig                  |    3 +
 7 files changed, 4348 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-crd.dts
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100.dtsi

-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible
  2023-11-17 11:39 [PATCH V2 0/5] dts: qcom: Introduce X1E80100 platforms device tree Sibi Sankar
@ 2023-11-17 11:39 ` Sibi Sankar
  2023-11-19 15:59   ` Rob Herring
  2023-11-17 11:39 ` [PATCH V2 2/5] dt-bindings: arm: qcom: Document X1E80100 SoC and boards Sibi Sankar
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-17 11:39 UTC (permalink / raw)
  To: andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong, Sibi Sankar

From: Rajendra Nayak <quic_rjendra@quicinc.com>

These are the CPU cores in Qualcomm's X1E80100 SoC.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
---

v2:
* Update the part number from sc8380xp to x1e80100.

 Documentation/devicetree/bindings/arm/cpus.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index ffd526363fda..cc5a21b47e26 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -198,6 +198,7 @@ properties:
       - qcom,kryo660
       - qcom,kryo685
       - qcom,kryo780
+      - qcom,oryon
       - qcom,scorpion
 
   enable-method:
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH V2 2/5] dt-bindings: arm: qcom: Document X1E80100 SoC and boards
  2023-11-17 11:39 [PATCH V2 0/5] dts: qcom: Introduce X1E80100 platforms device tree Sibi Sankar
  2023-11-17 11:39 ` [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible Sibi Sankar
@ 2023-11-17 11:39 ` Sibi Sankar
  2023-11-20  9:11   ` Krzysztof Kozlowski
  2023-11-17 11:39 ` [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device Sibi Sankar
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-17 11:39 UTC (permalink / raw)
  To: andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong, Sibi Sankar

From: Rajendra Nayak <quic_rjendra@quicinc.com>

Document the X1E80100 SoC binding and also the boards using it.
Also document the new board id qcp (Qualcomm Compute Platform).

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
---

v2:
* Update the part number from sc8380xp to x1e80100.
* Fixup ordering in the SoC/board bindings. [Krzysztof]

 Documentation/devicetree/bindings/arm/qcom.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 88b84035e7b1..6458ed828819 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -87,6 +87,7 @@ description: |
         sm8350
         sm8450
         sm8550
+        x1e80100
 
   The 'board' element must be one of the following strings:
 
@@ -110,6 +111,7 @@ description: |
         liquid
         rdp432-c2
         mtp
+        qcp
         qrd
         rb2
         ride
@@ -1044,6 +1046,12 @@ properties:
               - qcom,sm8550-qrd
           - const: qcom,sm8550
 
+      - items:
+          - enum:
+              - qcom,x1e80100-crd
+              - qcom,x1e80100-qcp
+          - const: qcom,x1e80100
+
   # Board compatibles go above
 
   qcom,msm-id:
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device
  2023-11-17 11:39 [PATCH V2 0/5] dts: qcom: Introduce X1E80100 platforms device tree Sibi Sankar
  2023-11-17 11:39 ` [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible Sibi Sankar
  2023-11-17 11:39 ` [PATCH V2 2/5] dt-bindings: arm: qcom: Document X1E80100 SoC and boards Sibi Sankar
@ 2023-11-17 11:39 ` Sibi Sankar
  2023-11-18  1:07   ` Konrad Dybcio
  2023-11-20  9:04   ` Abel Vesa
  2023-11-17 11:39 ` [PATCH V2 5/5] arm64: defconfig: Enable X1E80100 SoC base configs Sibi Sankar
       [not found] ` <20231117113931.26660-4-quic_sibis@quicinc.com>
  4 siblings, 2 replies; 22+ messages in thread
From: Sibi Sankar @ 2023-11-17 11:39 UTC (permalink / raw)
  To: andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong, Sibi Sankar

Add basic support for X1E80100 CRD board dts, which allows it to boot
to a shell.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
---

v2:
* Update the part number from sc8380xp to x1e80100.
* Override the serial uart with "qcom,geni-debug-uart" in the board files. [Rajendra]
* Document reserved gpios. [Konrad]

 arch/arm64/boot/dts/qcom/Makefile         |   1 +
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 425 ++++++++++++++++++++++
 2 files changed, 426 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-crd.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 43bd9fcf35e5..e3ab1c91307a 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -231,4 +231,5 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-sony-xperia-nagara-pdx223.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-sony-xperia-nagara-pdx224.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8550-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8550-qrd.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-crd.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-qcp.dtb
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
new file mode 100644
index 000000000000..82d1ecac0ec9
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
@@ -0,0 +1,425 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "x1e80100.dtsi"
+
+/ {
+	model = "Qualcomm Technologies, Inc. X1E80100 CRD";
+	compatible = "qcom,x1e80100-crd", "qcom,x1e80100";
+
+	aliases {
+		serial0 = &uart21;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	vph_pwr: vph-pwr-regulator {
+		compatible = "regulator-fixed";
+
+		regulator-name = "vph_pwr";
+		regulator-min-microvolt = <3700000>;
+		regulator-max-microvolt = <3700000>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vreg_edp_3p3: regulator-edp-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+};
+
+&apps_rsc {
+	regulators-0 {
+		compatible = "qcom,pm8550-rpmh-regulators";
+		qcom,pmic-id = "b";
+
+		vdd-bob1-supply = <&vph_pwr>;
+		vdd-bob2-supply = <&vph_pwr>;
+		vdd-l1-supply = <&vreg_s4c_1p8>;
+		vdd-l2-l13-l14-supply = <&vreg_bob1>;
+		vdd-l4-supply = <&vreg_s4c_1p8>;
+		vdd-l5-l16-supply = <&vreg_bob1>;
+		vdd-l6-l7-supply = <&vreg_bob2>;
+		vdd-l8-l9-supply = <&vreg_bob1>;
+		vdd-l10-supply = <&vreg_s4c_1p8>;
+		vdd-l12-supply = <&vreg_s5j_1p2>;
+		vdd-l15-supply = <&vreg_s4c_1p8>;
+		vdd-l17-supply = <&vreg_bob2>;
+
+		vreg_bob1: bob1 {
+			regulator-name = "vreg_bob1";
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_bob2: bob2 {
+			regulator-name = "vreg_bob2";
+			regulator-min-microvolt = <2504000>;
+			regulator-max-microvolt = <3008000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1b_1p8: ldo1 {
+			regulator-name = "vreg_l1b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2b_3p0: ldo2 {
+			regulator-name = "vreg_l2b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3100000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4b_1p8: ldo4 {
+			regulator-name = "vreg_l4b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5b_3p0: ldo5 {
+			regulator-name = "vreg_l5b_3p0";
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6b_1p8: ldo6 {
+			regulator-name = "vreg_l6b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7b_2p8: ldo7 {
+			regulator-name = "vreg_l7b_2p8";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8b_3p0: ldo8 {
+			regulator-name = "vreg_l8b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9b_2p9: ldo9 {
+			regulator-name = "vreg_l9b_2p9";
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10b_1p8: ldo10 {
+			regulator-name = "vreg_l10b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12b_1p2: ldo12 {
+			regulator-name = "vreg_l12b_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13b_3p0: ldo13 {
+			regulator-name = "vreg_l13b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3100000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l14b_3p0: ldo14 {
+			regulator-name = "vreg_l14b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l15b_1p8: ldo15 {
+			regulator-name = "vreg_l15b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l16b_2p9: ldo16 {
+			regulator-name = "vreg_l16b_2p9";
+			regulator-min-microvolt = <2912000>;
+			regulator-max-microvolt = <2912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l17b_2p5: ldo17 {
+			regulator-name = "vreg_l17b_2p5";
+			regulator-min-microvolt = <2504000>;
+			regulator-max-microvolt = <2504000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-1 {
+		compatible = "qcom,pm8550ve-rpmh-regulators";
+		qcom,pmic-id = "c";
+
+		vdd-l1-supply = <&vreg_s5j_1p2>;
+		vdd-l2-supply = <&vreg_s1f_0p7>;
+		vdd-l3-supply = <&vreg_s1f_0p7>;
+		vdd-s4-supply = <&vph_pwr>;
+
+		vreg_s4c_1p8: smps4 {
+			regulator-name = "vreg_s4c_1p8";
+			regulator-min-microvolt = <1856000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1c_1p2: ldo1 {
+			regulator-name = "vreg_l1c_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2c_0p8: ldo2 {
+			regulator-name = "vreg_l2c_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3c_0p8: ldo3 {
+			regulator-name = "vreg_l3c_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-2 {
+		compatible = "qcom,pmc8380-rpmh-regulators";
+		qcom,pmic-id = "d";
+
+		vdd-l1-supply = <&vreg_s1f_0p7>;
+		vdd-l2-supply = <&vreg_s1f_0p7>;
+		vdd-l3-supply = <&vreg_s4c_1p8>;
+		vdd-s1-supply = <&vph_pwr>;
+
+		vreg_l1d_0p8: ldo1 {
+			regulator-name = "vreg_l1d_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2d_0p9: ldo2 {
+			regulator-name = "vreg_l2d_0p9";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3d_1p8: ldo3 {
+			regulator-name = "vreg_l3d_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-3 {
+		compatible = "qcom,pmc8380-rpmh-regulators";
+		qcom,pmic-id = "e";
+
+		vdd-l2-supply = <&vreg_s1f_0p7>;
+		vdd-l3-supply = <&vreg_s5j_1p2>;
+
+		vreg_l2e_0p8: ldo2 {
+			regulator-name = "vreg_l2e_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3e_1p2: ldo3 {
+			regulator-name = "vreg_l3e_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-4 {
+		compatible = "qcom,pmc8380-rpmh-regulators";
+		qcom,pmic-id = "f";
+
+		vdd-l1-supply = <&vreg_s5j_1p2>;
+		vdd-l2-supply = <&vreg_s5j_1p2>;
+		vdd-l3-supply = <&vreg_s5j_1p2>;
+		vdd-s1-supply = <&vph_pwr>;
+
+		vreg_s1f_0p7: smps1 {
+			regulator-name = "vreg_s1f_0p7";
+			regulator-min-microvolt = <700000>;
+			regulator-max-microvolt = <1100000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1f_1p0: ldo1 {
+			regulator-name = "vreg_l1f_1p0";
+			regulator-min-microvolt = <1024000>;
+			regulator-max-microvolt = <1024000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2f_1p0: ldo2 {
+			regulator-name = "vreg_l2f_1p0";
+			regulator-min-microvolt = <1024000>;
+			regulator-max-microvolt = <1024000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3f_1p0: ldo3 {
+			regulator-name = "vreg_l3f_1p0";
+			regulator-min-microvolt = <1024000>;
+			regulator-max-microvolt = <1024000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-6 {
+		compatible = "qcom,pm8550ve-rpmh-regulators";
+		qcom,pmic-id = "i";
+
+		vdd-l1-supply = <&vreg_s4c_1p8>;
+		vdd-l2-supply = <&vreg_s5j_1p2>;
+		vdd-l3-supply = <&vreg_s1f_0p7>;
+		vdd-s1-supply = <&vph_pwr>;
+		vdd-s2-supply = <&vph_pwr>;
+
+		vreg_s1i_0p9: smps1 {
+			regulator-name = "vreg_s1i_0p9";
+			regulator-min-microvolt = <900000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s2i_1p0: smps2 {
+			regulator-name = "vreg_s2i_1p0";
+			regulator-min-microvolt = <1000000>;
+			regulator-max-microvolt = <1100000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1i_1p8: ldo1 {
+			regulator-name = "vreg_l1i_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2i_1p2: ldo2 {
+			regulator-name = "vreg_l2i_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3i_0p8: ldo3 {
+			regulator-name = "vreg_l3i_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-7 {
+		compatible = "qcom,pm8550ve-rpmh-regulators";
+		qcom,pmic-id = "j";
+
+		vdd-l1-supply = <&vreg_s1f_0p7>;
+		vdd-l2-supply = <&vreg_s5j_1p2>;
+		vdd-l3-supply = <&vreg_s1f_0p7>;
+		vdd-s5-supply = <&vph_pwr>;
+
+		vreg_s5j_1p2: smps5 {
+			regulator-name = "vreg_s5j_1p2";
+			regulator-min-microvolt = <1256000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1j_0p8: ldo1 {
+			regulator-name = "vreg_l1j_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2j_1p2: ldo2 {
+			regulator-name = "vreg_l2j_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3j_0p8: ldo3 {
+			regulator-name = "vreg_l3j_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+};
+
+&qupv3_2 {
+	status = "okay";
+};
+
+&tlmm {
+	gpio-reserved-ranges = <34 2>, <44 4>, /* SPI (TPM) */
+			       <238 1>; /* UFS Reset */
+
+	edp_reg_en: edp-reg-en-state {
+		pins = "gpio70";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-disable;
+	};
+};
+
+&uart21 {
+	compatible = "qcom,geni-debug-uart";
+	status = "okay";
+};
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH V2 5/5] arm64: defconfig: Enable X1E80100 SoC base configs
  2023-11-17 11:39 [PATCH V2 0/5] dts: qcom: Introduce X1E80100 platforms device tree Sibi Sankar
                   ` (2 preceding siblings ...)
  2023-11-17 11:39 ` [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device Sibi Sankar
@ 2023-11-17 11:39 ` Sibi Sankar
  2023-11-20  9:12   ` Krzysztof Kozlowski
       [not found] ` <20231117113931.26660-4-quic_sibis@quicinc.com>
  4 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-17 11:39 UTC (permalink / raw)
  To: andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong, Sibi Sankar

From: Rajendra Nayak <quic_rjendra@quicinc.com>

Enable GCC, Pinctrl and Interconnect configs for Qualcomm's X1E80100 SoC
which is required to boot X1E80100 QCP/CRD boards to a console shell. The
configs are required to be marked as builtin and not modules due to the
console driver dependencies.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
---

v2:
* Update the part number from sc8380xp to x1e80100.
* Add additional details to patch 5 commit message. [Konrad/Krzysztof]

 arch/arm64/configs/defconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index b60aa1f89343..013b22dd12c9 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -614,6 +614,7 @@ CONFIG_PINCTRL_SM8450_LPASS_LPI=m
 CONFIG_PINCTRL_SC8280XP_LPASS_LPI=m
 CONFIG_PINCTRL_SM8550=y
 CONFIG_PINCTRL_SM8550_LPASS_LPI=m
+CONFIG_PINCTRL_X1E80100=y
 CONFIG_PINCTRL_LPASS_LPI=m
 CONFIG_GPIO_AGGREGATOR=m
 CONFIG_GPIO_ALTERA=m
@@ -1266,6 +1267,7 @@ CONFIG_SM_GPUCC_6115=m
 CONFIG_SM_GPUCC_8150=y
 CONFIG_SM_GPUCC_8250=y
 CONFIG_SM_VIDEOCC_8250=y
+CONFIG_X1E_GCC_80100=y
 CONFIG_QCOM_HFPLL=y
 CONFIG_CLK_GFM_LPASS_SM8250=m
 CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y
@@ -1524,6 +1526,7 @@ CONFIG_INTERCONNECT_QCOM_SM8250=m
 CONFIG_INTERCONNECT_QCOM_SM8350=m
 CONFIG_INTERCONNECT_QCOM_SM8450=y
 CONFIG_INTERCONNECT_QCOM_SM8550=y
+CONFIG_INTERCONNECT_QCOM_X1E80100=y
 CONFIG_COUNTER=m
 CONFIG_RZ_MTU3_CNT=m
 CONFIG_HTE=y
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
       [not found] ` <20231117113931.26660-4-quic_sibis@quicinc.com>
@ 2023-11-18  1:06   ` Konrad Dybcio
  2023-11-29  9:25     ` Sibi Sankar
  2023-11-21  7:20   ` kernel test robot
  2023-11-21 14:03   ` kernel test robot
  2 siblings, 1 reply; 22+ messages in thread
From: Konrad Dybcio @ 2023-11-18  1:06 UTC (permalink / raw)
  To: Sibi Sankar, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 17.11.2023 12:39, Sibi Sankar wrote:
> From: Rajendra Nayak <quic_rjendra@quicinc.com>
> 
> Add base dtsi and QCP board (Qualcomm Compute Platform) dts file for
> X1E80100 SoC, describing the CPUs, GCC and RPMHCC clock controllers,
> geni UART, interrupt controller, TLMM, reserved memory, interconnects,
> SMMU and LLCC nodes.
> 
> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
> ---
[...]

> +&tlmm {
> +	gpio-reserved-ranges = <33 3>, <44 4>, /* SPI (TPM) */
Surely SPI doesn't use 7 wires! :D

[...]

> +			L2_0: l2-cache-0 {
the cache device is distinguishable by its parent, so "l2-cache" is enough


> +				compatible = "cache";
> +				cache-level = <2>;
> +				cache-unified;
> +			};
> +		};
> +
[...]

> +		idle-states {
> +			entry-method = "psci";
> +
> +			CLUSTER_C4: cpu-sleep-0 {
> +				compatible = "arm,idle-state";
> +				idle-state-name = "ret";
> +				arm,psci-suspend-param = <0x00000004>;
These suspend parameters look funky.. is this just a PSCI sleep
implementation that strays far away from Arm's suggested guidelines?

[...]


> +		CPU_PD11: power-domain-cpu11 {
> +			#power-domain-cells = <0>;
> +			power-domains = <&CLUSTER_PD>;
> +		};
> +
> +		CLUSTER_PD: power-domain-cpu-cluster {
> +			#power-domain-cells = <0>;
> +			domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
> +		};
So, can the 3 clusters not shut down their L2 and PLLs (if separate?)
on their own?

> +	};
> +
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		gunyah_hyp_mem: gunyah-hyp@80000000 {
> +			reg = <0x0 0x80000000 0x0 0x800000>;
> +			no-map;
> +		};
> +
> +		hyp_elf_package_mem: hyp-elf_package@80800000 {
no underscores in node names, use hyphens

The rest looks OK I think

Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device
  2023-11-17 11:39 ` [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device Sibi Sankar
@ 2023-11-18  1:07   ` Konrad Dybcio
  2023-11-20  6:51     ` Sibi Sankar
  2023-11-20  9:04   ` Abel Vesa
  1 sibling, 1 reply; 22+ messages in thread
From: Konrad Dybcio @ 2023-11-18  1:07 UTC (permalink / raw)
  To: Sibi Sankar, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 17.11.2023 12:39, Sibi Sankar wrote:
> Add basic support for X1E80100 CRD board dts, which allows it to boot
> to a shell.
> 
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
> ---
pretty much just the same question about pins <34 2> 

otherwise 

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible
  2023-11-17 11:39 ` [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible Sibi Sankar
@ 2023-11-19 15:59   ` Rob Herring
  2023-11-20  6:44     ` Sibi Sankar
  0 siblings, 1 reply; 22+ messages in thread
From: Rob Herring @ 2023-11-19 15:59 UTC (permalink / raw)
  To: Sibi Sankar
  Cc: andersson, konrad.dybcio, krzysztof.kozlowski+dt, catalin.marinas,
	ulf.hansson, agross, conor+dt, ayan.kumar.halder, j,
	dmitry.baryshkov, nfraprado, m.szyprowski, u-kumar1, peng.fan,
	lpieralisi, quic_rjendra, abel.vesa, linux-arm-msm, devicetree,
	linux-kernel, linux-arm-kernel, quic_tsoni, neil.armstrong

On Fri, Nov 17, 2023 at 05:09:27PM +0530, Sibi Sankar wrote:
> From: Rajendra Nayak <quic_rjendra@quicinc.com>
> 
> These are the CPU cores in Qualcomm's X1E80100 SoC.
> 
> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
> ---
> 
> v2:
> * Update the part number from sc8380xp to x1e80100.
> 
>  Documentation/devicetree/bindings/arm/cpus.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
> index ffd526363fda..cc5a21b47e26 100644
> --- a/Documentation/devicetree/bindings/arm/cpus.yaml
> +++ b/Documentation/devicetree/bindings/arm/cpus.yaml
> @@ -198,6 +198,7 @@ properties:
>        - qcom,kryo660
>        - qcom,kryo685
>        - qcom,kryo780
> +      - qcom,oryon

Wasn't it previously said 'oryon' is not specific enough?

Also, please describe what oryon is in the commit msg.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible
  2023-11-19 15:59   ` Rob Herring
@ 2023-11-20  6:44     ` Sibi Sankar
  2023-11-29 10:37       ` Sibi Sankar
  0 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-20  6:44 UTC (permalink / raw)
  To: Rob Herring
  Cc: andersson, konrad.dybcio, krzysztof.kozlowski+dt, catalin.marinas,
	ulf.hansson, agross, conor+dt, ayan.kumar.halder, j,
	dmitry.baryshkov, nfraprado, m.szyprowski, u-kumar1, peng.fan,
	lpieralisi, quic_rjendra, abel.vesa, linux-arm-msm, devicetree,
	linux-kernel, linux-arm-kernel, quic_tsoni, neil.armstrong

Hey Rob,

Thanks for taking time to review the series.

On 11/19/23 21:29, Rob Herring wrote:
> On Fri, Nov 17, 2023 at 05:09:27PM +0530, Sibi Sankar wrote:
>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>
>> These are the CPU cores in Qualcomm's X1E80100 SoC.
>>
>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>> ---
>>
>> v2:
>> * Update the part number from sc8380xp to x1e80100.
>>
>>   Documentation/devicetree/bindings/arm/cpus.yaml | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
>> index ffd526363fda..cc5a21b47e26 100644
>> --- a/Documentation/devicetree/bindings/arm/cpus.yaml
>> +++ b/Documentation/devicetree/bindings/arm/cpus.yaml
>> @@ -198,6 +198,7 @@ properties:
>>         - qcom,kryo660
>>         - qcom,kryo685
>>         - qcom,kryo780
>> +      - qcom,oryon
> 
> Wasn't it previously said 'oryon' is not specific enough?
> 
> Also, please describe what oryon is in the commit msg.

ack. Will add more details in the next re-spin.

-Sibi

> 
> Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device
  2023-11-18  1:07   ` Konrad Dybcio
@ 2023-11-20  6:51     ` Sibi Sankar
  2023-11-20 11:54       ` Konrad Dybcio
  0 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-20  6:51 UTC (permalink / raw)
  To: Konrad Dybcio, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

Hey Konrad,
Thanks for taking time to review the series.

On 11/18/23 06:37, Konrad Dybcio wrote:
> On 17.11.2023 12:39, Sibi Sankar wrote:
>> Add basic support for X1E80100 CRD board dts, which allows it to boot
>> to a shell.
>>
>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>> ---
> pretty much just the same question about pins <34 2>

The reference docs mark it that way, it probably includes some
redundancies (given that on of those is marked as non-secure
and used in touch screen for the CRD). Anyway let me confirm
the same.

-Sibi
> 
> otherwise
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> 
> Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device
  2023-11-17 11:39 ` [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device Sibi Sankar
  2023-11-18  1:07   ` Konrad Dybcio
@ 2023-11-20  9:04   ` Abel Vesa
  1 sibling, 0 replies; 22+ messages in thread
From: Abel Vesa @ 2023-11-20  9:04 UTC (permalink / raw)
  To: Sibi Sankar
  Cc: andersson, konrad.dybcio, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson, agross, conor+dt, ayan.kumar.halder,
	j, dmitry.baryshkov, nfraprado, m.szyprowski, u-kumar1, peng.fan,
	lpieralisi, quic_rjendra, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 23-11-17 17:09:30, Sibi Sankar wrote:
> Add basic support for X1E80100 CRD board dts, which allows it to boot
> to a shell.
> 
> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
> ---

You dropped the initial authorship here. Please fix and re-send.

Thanks,
Abel

> 
> v2:
> * Update the part number from sc8380xp to x1e80100.
> * Override the serial uart with "qcom,geni-debug-uart" in the board files. [Rajendra]
> * Document reserved gpios. [Konrad]
> 
>  arch/arm64/boot/dts/qcom/Makefile         |   1 +
>  arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 425 ++++++++++++++++++++++
>  2 files changed, 426 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-crd.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 43bd9fcf35e5..e3ab1c91307a 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -231,4 +231,5 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-sony-xperia-nagara-pdx223.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-sony-xperia-nagara-pdx224.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sm8550-mtp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sm8550-qrd.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-crd.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-qcp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
> new file mode 100644
> index 000000000000..82d1ecac0ec9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
> @@ -0,0 +1,425 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +
> +#include "x1e80100.dtsi"
> +
> +/ {
> +	model = "Qualcomm Technologies, Inc. X1E80100 CRD";
> +	compatible = "qcom,x1e80100-crd", "qcom,x1e80100";
> +
> +	aliases {
> +		serial0 = &uart21;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	vph_pwr: vph-pwr-regulator {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "vph_pwr";
> +		regulator-min-microvolt = <3700000>;
> +		regulator-max-microvolt = <3700000>;
> +
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	vreg_edp_3p3: regulator-edp-3p3 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "VREG_EDP_3P3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-0 = <&edp_reg_en>;
> +		pinctrl-names = "default";
> +
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +};
> +
> +&apps_rsc {
> +	regulators-0 {
> +		compatible = "qcom,pm8550-rpmh-regulators";
> +		qcom,pmic-id = "b";
> +
> +		vdd-bob1-supply = <&vph_pwr>;
> +		vdd-bob2-supply = <&vph_pwr>;
> +		vdd-l1-supply = <&vreg_s4c_1p8>;
> +		vdd-l2-l13-l14-supply = <&vreg_bob1>;
> +		vdd-l4-supply = <&vreg_s4c_1p8>;
> +		vdd-l5-l16-supply = <&vreg_bob1>;
> +		vdd-l6-l7-supply = <&vreg_bob2>;
> +		vdd-l8-l9-supply = <&vreg_bob1>;
> +		vdd-l10-supply = <&vreg_s4c_1p8>;
> +		vdd-l12-supply = <&vreg_s5j_1p2>;
> +		vdd-l15-supply = <&vreg_s4c_1p8>;
> +		vdd-l17-supply = <&vreg_bob2>;
> +
> +		vreg_bob1: bob1 {
> +			regulator-name = "vreg_bob1";
> +			regulator-min-microvolt = <3008000>;
> +			regulator-max-microvolt = <3960000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_bob2: bob2 {
> +			regulator-name = "vreg_bob2";
> +			regulator-min-microvolt = <2504000>;
> +			regulator-max-microvolt = <3008000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l1b_1p8: ldo1 {
> +			regulator-name = "vreg_l1b_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l2b_3p0: ldo2 {
> +			regulator-name = "vreg_l2b_3p0";
> +			regulator-min-microvolt = <3072000>;
> +			regulator-max-microvolt = <3100000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l4b_1p8: ldo4 {
> +			regulator-name = "vreg_l4b_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l5b_3p0: ldo5 {
> +			regulator-name = "vreg_l5b_3p0";
> +			regulator-min-microvolt = <3000000>;
> +			regulator-max-microvolt = <3000000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l6b_1p8: ldo6 {
> +			regulator-name = "vreg_l6b_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <2960000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l7b_2p8: ldo7 {
> +			regulator-name = "vreg_l7b_2p8";
> +			regulator-min-microvolt = <2800000>;
> +			regulator-max-microvolt = <2800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l8b_3p0: ldo8 {
> +			regulator-name = "vreg_l8b_3p0";
> +			regulator-min-microvolt = <3072000>;
> +			regulator-max-microvolt = <3072000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l9b_2p9: ldo9 {
> +			regulator-name = "vreg_l9b_2p9";
> +			regulator-min-microvolt = <2960000>;
> +			regulator-max-microvolt = <2960000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l10b_1p8: ldo10 {
> +			regulator-name = "vreg_l10b_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l12b_1p2: ldo12 {
> +			regulator-name = "vreg_l12b_1p2";
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1200000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l13b_3p0: ldo13 {
> +			regulator-name = "vreg_l13b_3p0";
> +			regulator-min-microvolt = <3072000>;
> +			regulator-max-microvolt = <3100000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l14b_3p0: ldo14 {
> +			regulator-name = "vreg_l14b_3p0";
> +			regulator-min-microvolt = <3072000>;
> +			regulator-max-microvolt = <3072000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l15b_1p8: ldo15 {
> +			regulator-name = "vreg_l15b_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l16b_2p9: ldo16 {
> +			regulator-name = "vreg_l16b_2p9";
> +			regulator-min-microvolt = <2912000>;
> +			regulator-max-microvolt = <2912000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l17b_2p5: ldo17 {
> +			regulator-name = "vreg_l17b_2p5";
> +			regulator-min-microvolt = <2504000>;
> +			regulator-max-microvolt = <2504000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +
> +	regulators-1 {
> +		compatible = "qcom,pm8550ve-rpmh-regulators";
> +		qcom,pmic-id = "c";
> +
> +		vdd-l1-supply = <&vreg_s5j_1p2>;
> +		vdd-l2-supply = <&vreg_s1f_0p7>;
> +		vdd-l3-supply = <&vreg_s1f_0p7>;
> +		vdd-s4-supply = <&vph_pwr>;
> +
> +		vreg_s4c_1p8: smps4 {
> +			regulator-name = "vreg_s4c_1p8";
> +			regulator-min-microvolt = <1856000>;
> +			regulator-max-microvolt = <2000000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l1c_1p2: ldo1 {
> +			regulator-name = "vreg_l1c_1p2";
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1200000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l2c_0p8: ldo2 {
> +			regulator-name = "vreg_l2c_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l3c_0p8: ldo3 {
> +			regulator-name = "vreg_l3c_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +
> +	regulators-2 {
> +		compatible = "qcom,pmc8380-rpmh-regulators";
> +		qcom,pmic-id = "d";
> +
> +		vdd-l1-supply = <&vreg_s1f_0p7>;
> +		vdd-l2-supply = <&vreg_s1f_0p7>;
> +		vdd-l3-supply = <&vreg_s4c_1p8>;
> +		vdd-s1-supply = <&vph_pwr>;
> +
> +		vreg_l1d_0p8: ldo1 {
> +			regulator-name = "vreg_l1d_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l2d_0p9: ldo2 {
> +			regulator-name = "vreg_l2d_0p9";
> +			regulator-min-microvolt = <912000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l3d_1p8: ldo3 {
> +			regulator-name = "vreg_l3d_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +
> +	regulators-3 {
> +		compatible = "qcom,pmc8380-rpmh-regulators";
> +		qcom,pmic-id = "e";
> +
> +		vdd-l2-supply = <&vreg_s1f_0p7>;
> +		vdd-l3-supply = <&vreg_s5j_1p2>;
> +
> +		vreg_l2e_0p8: ldo2 {
> +			regulator-name = "vreg_l2e_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l3e_1p2: ldo3 {
> +			regulator-name = "vreg_l3e_1p2";
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1200000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +
> +	regulators-4 {
> +		compatible = "qcom,pmc8380-rpmh-regulators";
> +		qcom,pmic-id = "f";
> +
> +		vdd-l1-supply = <&vreg_s5j_1p2>;
> +		vdd-l2-supply = <&vreg_s5j_1p2>;
> +		vdd-l3-supply = <&vreg_s5j_1p2>;
> +		vdd-s1-supply = <&vph_pwr>;
> +
> +		vreg_s1f_0p7: smps1 {
> +			regulator-name = "vreg_s1f_0p7";
> +			regulator-min-microvolt = <700000>;
> +			regulator-max-microvolt = <1100000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l1f_1p0: ldo1 {
> +			regulator-name = "vreg_l1f_1p0";
> +			regulator-min-microvolt = <1024000>;
> +			regulator-max-microvolt = <1024000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l2f_1p0: ldo2 {
> +			regulator-name = "vreg_l2f_1p0";
> +			regulator-min-microvolt = <1024000>;
> +			regulator-max-microvolt = <1024000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l3f_1p0: ldo3 {
> +			regulator-name = "vreg_l3f_1p0";
> +			regulator-min-microvolt = <1024000>;
> +			regulator-max-microvolt = <1024000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +
> +	regulators-6 {
> +		compatible = "qcom,pm8550ve-rpmh-regulators";
> +		qcom,pmic-id = "i";
> +
> +		vdd-l1-supply = <&vreg_s4c_1p8>;
> +		vdd-l2-supply = <&vreg_s5j_1p2>;
> +		vdd-l3-supply = <&vreg_s1f_0p7>;
> +		vdd-s1-supply = <&vph_pwr>;
> +		vdd-s2-supply = <&vph_pwr>;
> +
> +		vreg_s1i_0p9: smps1 {
> +			regulator-name = "vreg_s1i_0p9";
> +			regulator-min-microvolt = <900000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_s2i_1p0: smps2 {
> +			regulator-name = "vreg_s2i_1p0";
> +			regulator-min-microvolt = <1000000>;
> +			regulator-max-microvolt = <1100000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l1i_1p8: ldo1 {
> +			regulator-name = "vreg_l1i_1p8";
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l2i_1p2: ldo2 {
> +			regulator-name = "vreg_l2i_1p2";
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1200000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l3i_0p8: ldo3 {
> +			regulator-name = "vreg_l3i_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +
> +	regulators-7 {
> +		compatible = "qcom,pm8550ve-rpmh-regulators";
> +		qcom,pmic-id = "j";
> +
> +		vdd-l1-supply = <&vreg_s1f_0p7>;
> +		vdd-l2-supply = <&vreg_s5j_1p2>;
> +		vdd-l3-supply = <&vreg_s1f_0p7>;
> +		vdd-s5-supply = <&vph_pwr>;
> +
> +		vreg_s5j_1p2: smps5 {
> +			regulator-name = "vreg_s5j_1p2";
> +			regulator-min-microvolt = <1256000>;
> +			regulator-max-microvolt = <1304000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l1j_0p8: ldo1 {
> +			regulator-name = "vreg_l1j_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l2j_1p2: ldo2 {
> +			regulator-name = "vreg_l2j_1p2";
> +			regulator-min-microvolt = <1200000>;
> +			regulator-max-microvolt = <1200000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +
> +		vreg_l3j_0p8: ldo3 {
> +			regulator-name = "vreg_l3j_0p8";
> +			regulator-min-microvolt = <880000>;
> +			regulator-max-microvolt = <920000>;
> +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +		};
> +	};
> +};
> +
> +&qupv3_2 {
> +	status = "okay";
> +};
> +
> +&tlmm {
> +	gpio-reserved-ranges = <34 2>, <44 4>, /* SPI (TPM) */
> +			       <238 1>; /* UFS Reset */
> +
> +	edp_reg_en: edp-reg-en-state {
> +		pins = "gpio70";
> +		function = "gpio";
> +		drive-strength = <16>;
> +		bias-disable;
> +	};
> +};
> +
> +&uart21 {
> +	compatible = "qcom,geni-debug-uart";
> +	status = "okay";
> +};
> -- 
> 2.17.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 2/5] dt-bindings: arm: qcom: Document X1E80100 SoC and boards
  2023-11-17 11:39 ` [PATCH V2 2/5] dt-bindings: arm: qcom: Document X1E80100 SoC and boards Sibi Sankar
@ 2023-11-20  9:11   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 22+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-20  9:11 UTC (permalink / raw)
  To: Sibi Sankar, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 17/11/2023 12:39, Sibi Sankar wrote:
> From: Rajendra Nayak <quic_rjendra@quicinc.com>
> 
> Document the X1E80100 SoC binding and also the boards using it.
> Also document the new board id qcp (Qualcomm Compute Platform).
> 
> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 5/5] arm64: defconfig: Enable X1E80100 SoC base configs
  2023-11-17 11:39 ` [PATCH V2 5/5] arm64: defconfig: Enable X1E80100 SoC base configs Sibi Sankar
@ 2023-11-20  9:12   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 22+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-20  9:12 UTC (permalink / raw)
  To: Sibi Sankar, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 17/11/2023 12:39, Sibi Sankar wrote:
> From: Rajendra Nayak <quic_rjendra@quicinc.com>
> 
> Enable GCC, Pinctrl and Interconnect configs for Qualcomm's X1E80100 SoC
> which is required to boot X1E80100 QCP/CRD boards to a console shell. The
> configs are required to be marked as builtin and not modules due to the
> console driver dependencies.
> 
> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
> ---
> 
> v2:
> * Update the part number from sc8380xp to x1e80100.
> * Add additional details to patch 5 commit message. [Konrad/Krzysztof]

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device
  2023-11-20  6:51     ` Sibi Sankar
@ 2023-11-20 11:54       ` Konrad Dybcio
  0 siblings, 0 replies; 22+ messages in thread
From: Konrad Dybcio @ 2023-11-20 11:54 UTC (permalink / raw)
  To: Sibi Sankar, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 20.11.2023 07:51, Sibi Sankar wrote:
> Hey Konrad,
> Thanks for taking time to review the series.
While it's rude to complain about somebody saying kind things, I have to
do it :D

top-posting (replying at the beginning of email) is discouraged and will
earn you grumpy replies, see the beginning of this message from GK-H:

https://lore.kernel.org/linux-nfs/YH%2FfM%2FTsbmcZzwnX@kroah.com/

Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
       [not found] ` <20231117113931.26660-4-quic_sibis@quicinc.com>
  2023-11-18  1:06   ` [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts Konrad Dybcio
@ 2023-11-21  7:20   ` kernel test robot
  2023-11-21 14:03   ` kernel test robot
  2 siblings, 0 replies; 22+ messages in thread
From: kernel test robot @ 2023-11-21  7:20 UTC (permalink / raw)
  To: Sibi Sankar, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, catalin.marinas, ulf.hansson
  Cc: oe-kbuild-all, agross, conor+dt, ayan.kumar.halder, j,
	dmitry.baryshkov, nfraprado, m.szyprowski, u-kumar1, peng.fan,
	lpieralisi, quic_rjendra, abel.vesa, linux-arm-msm, devicetree,
	linux-kernel, linux-arm-kernel, quic_tsoni, neil.armstrong,
	Sibi Sankar

Hi Sibi,

kernel test robot noticed the following build errors:

[auto build test ERROR on v6.7-rc1]
[also build test ERROR on linus/master next-20231121]
[cannot apply to robh/for-next arm64/for-next/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sibi-Sankar/dt-bindings-arm-cpus-Add-qcom-oryon-compatible/20231117-194253
base:   v6.7-rc1
patch link:    https://lore.kernel.org/r/20231117113931.26660-4-quic_sibis%40quicinc.com
patch subject: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20231121/202311211519.7IaZhocH-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231121/202311211519.7IaZhocH-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311211519.7IaZhocH-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/arm64/boot/dts/qcom/x1e80100-qcp.dts:10:
>> arch/arm64/boot/dts/qcom/x1e80100.dtsi:7:10: fatal error: dt-bindings/clock/qcom,x1e80100-gcc.h: No such file or directory
       7 | #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
         |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   compilation terminated.


vim +7 arch/arm64/boot/dts/qcom/x1e80100.dtsi

   > 7	#include <dt-bindings/clock/qcom,x1e80100-gcc.h>
     8	#include <dt-bindings/dma/qcom-gpi.h>
     9	#include <dt-bindings/interconnect/qcom,icc.h>
    10	#include <dt-bindings/interconnect/qcom,x1e80100-rpmh.h>
    11	#include <dt-bindings/interrupt-controller/arm-gic.h>
    12	#include <dt-bindings/power/qcom,rpmhpd.h>
    13	#include <dt-bindings/power/qcom-rpmpd.h>
    14	#include <dt-bindings/soc/qcom,rpmh-rsc.h>
    15	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
       [not found] ` <20231117113931.26660-4-quic_sibis@quicinc.com>
  2023-11-18  1:06   ` [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts Konrad Dybcio
  2023-11-21  7:20   ` kernel test robot
@ 2023-11-21 14:03   ` kernel test robot
  2 siblings, 0 replies; 22+ messages in thread
From: kernel test robot @ 2023-11-21 14:03 UTC (permalink / raw)
  To: Sibi Sankar, andersson, konrad.dybcio, robh+dt,
	krzysztof.kozlowski+dt, catalin.marinas, ulf.hansson
  Cc: llvm, oe-kbuild-all, agross, conor+dt, ayan.kumar.halder, j,
	dmitry.baryshkov, nfraprado, m.szyprowski, u-kumar1, peng.fan,
	lpieralisi, quic_rjendra, abel.vesa, linux-arm-msm, devicetree,
	linux-kernel, linux-arm-kernel, quic_tsoni, neil.armstrong,
	Sibi Sankar

Hi Sibi,

kernel test robot noticed the following build errors:

[auto build test ERROR on v6.7-rc1]
[also build test ERROR on linus/master next-20231121]
[cannot apply to robh/for-next arm64/for-next/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sibi-Sankar/dt-bindings-arm-cpus-Add-qcom-oryon-compatible/20231117-194253
base:   v6.7-rc1
patch link:    https://lore.kernel.org/r/20231117113931.26660-4-quic_sibis%40quicinc.com
patch subject: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20231121/202311212100.eIdoZhGN-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231121/202311212100.eIdoZhGN-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311212100.eIdoZhGN-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/arm64/boot/dts/qcom/x1e80100-qcp.dts:10:
>> arch/arm64/boot/dts/qcom/x1e80100.dtsi:7:10: fatal error: 'dt-bindings/clock/qcom,x1e80100-gcc.h' file not found
       7 | #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
         |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 error generated.


vim +7 arch/arm64/boot/dts/qcom/x1e80100.dtsi

   > 7	#include <dt-bindings/clock/qcom,x1e80100-gcc.h>
     8	#include <dt-bindings/dma/qcom-gpi.h>
     9	#include <dt-bindings/interconnect/qcom,icc.h>
    10	#include <dt-bindings/interconnect/qcom,x1e80100-rpmh.h>
    11	#include <dt-bindings/interrupt-controller/arm-gic.h>
    12	#include <dt-bindings/power/qcom,rpmhpd.h>
    13	#include <dt-bindings/power/qcom-rpmpd.h>
    14	#include <dt-bindings/soc/qcom,rpmh-rsc.h>
    15	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
  2023-11-18  1:06   ` [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts Konrad Dybcio
@ 2023-11-29  9:25     ` Sibi Sankar
  2023-11-29 12:54       ` Konrad Dybcio
  0 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-29  9:25 UTC (permalink / raw)
  To: Konrad Dybcio, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong



On 11/18/23 06:36, Konrad Dybcio wrote:
> On 17.11.2023 12:39, Sibi Sankar wrote:
>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>
>> Add base dtsi and QCP board (Qualcomm Compute Platform) dts file for
>> X1E80100 SoC, describing the CPUs, GCC and RPMHCC clock controllers,
>> geni UART, interrupt controller, TLMM, reserved memory, interconnects,
>> SMMU and LLCC nodes.
>>
>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>> ---
> [...]
> 
>> +&tlmm {
>> +	gpio-reserved-ranges = <33 3>, <44 4>, /* SPI (TPM) */
> Surely SPI doesn't use 7 wires! :D

yeah, they are just secure reserved unused gpios.

> 
> [...]
> 
>> +			L2_0: l2-cache-0 {
> the cache device is distinguishable by its parent, so "l2-cache" is enough

thanks will fix ^^

> 
> 
>> +				compatible = "cache";
>> +				cache-level = <2>;
>> +				cache-unified;
>> +			};
>> +		};
>> +
> [...]
> 
>> +		idle-states {
>> +			entry-method = "psci";
>> +
>> +			CLUSTER_C4: cpu-sleep-0 {
>> +				compatible = "arm,idle-state";
>> +				idle-state-name = "ret";
>> +				arm,psci-suspend-param = <0x00000004>;
> These suspend parameters look funky.. is this just a PSCI sleep
> implementation that strays far away from Arm's suggested guidelines?

not really! it's just that 30th bit is set according to spec i.e
it's marked as a retention state.

> 
> [...]
> 
> 
>> +		CPU_PD11: power-domain-cpu11 {
>> +			#power-domain-cells = <0>;
>> +			power-domains = <&CLUSTER_PD>;
>> +		};
>> +
>> +		CLUSTER_PD: power-domain-cpu-cluster {
>> +			#power-domain-cells = <0>;
>> +			domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
>> +		};
> So, can the 3 clusters not shut down their L2 and PLLs (if separate?)
> on their own?

on CL5 the clusters are expected to shutdown their l2 and PLL on their
own.

> 
>> +	};
>> +
>> +	reserved-memory {
>> +		#address-cells = <2>;
>> +		#size-cells = <2>;
>> +		ranges;
>> +
>> +		gunyah_hyp_mem: gunyah-hyp@80000000 {
>> +			reg = <0x0 0x80000000 0x0 0x800000>;
>> +			no-map;
>> +		};
>> +
>> +		hyp_elf_package_mem: hyp-elf_package@80800000 {
> no underscores in node names, use hyphens

ack

-Sibi
> 
> The rest looks OK I think
> 
> Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible
  2023-11-20  6:44     ` Sibi Sankar
@ 2023-11-29 10:37       ` Sibi Sankar
  0 siblings, 0 replies; 22+ messages in thread
From: Sibi Sankar @ 2023-11-29 10:37 UTC (permalink / raw)
  To: Rob Herring
  Cc: andersson, konrad.dybcio, krzysztof.kozlowski+dt, catalin.marinas,
	ulf.hansson, agross, conor+dt, ayan.kumar.halder, j,
	dmitry.baryshkov, nfraprado, m.szyprowski, u-kumar1, peng.fan,
	lpieralisi, quic_rjendra, abel.vesa, linux-arm-msm, devicetree,
	linux-kernel, linux-arm-kernel, quic_tsoni, neil.armstrong



On 11/20/23 12:14, Sibi Sankar wrote:
> Hey Rob,
> 
> Thanks for taking time to review the series.
> 
> On 11/19/23 21:29, Rob Herring wrote:
>> On Fri, Nov 17, 2023 at 05:09:27PM +0530, Sibi Sankar wrote:
>>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>
>>> These are the CPU cores in Qualcomm's X1E80100 SoC.
>>>
>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>>> ---
>>>
>>> v2:
>>> * Update the part number from sc8380xp to x1e80100.
>>>
>>>   Documentation/devicetree/bindings/arm/cpus.yaml | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml 
>>> b/Documentation/devicetree/bindings/arm/cpus.yaml
>>> index ffd526363fda..cc5a21b47e26 100644
>>> --- a/Documentation/devicetree/bindings/arm/cpus.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/cpus.yaml
>>> @@ -198,6 +198,7 @@ properties:
>>>         - qcom,kryo660
>>>         - qcom,kryo685
>>>         - qcom,kryo780
>>> +      - qcom,oryon
>>
>> Wasn't it previously said 'oryon' is not specific enough?

https://lore.kernel.org/lkml/b165d2cd-e8da-4f6d-9ecf-14df2b803614@linaro.org/

The cpu part numbers were indeed different in engineering samples
which has now been fixed in the production version.

-Sibi

>>
>> Also, please describe what oryon is in the commit msg.
> 
> ack. Will add more details in the next re-spin.
> 
> -Sibi
> 
>>
>> Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
  2023-11-29  9:25     ` Sibi Sankar
@ 2023-11-29 12:54       ` Konrad Dybcio
  2023-11-29 15:46         ` Sibi Sankar
  0 siblings, 1 reply; 22+ messages in thread
From: Konrad Dybcio @ 2023-11-29 12:54 UTC (permalink / raw)
  To: Sibi Sankar, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 29.11.2023 10:25, Sibi Sankar wrote:
> 
> 
> On 11/18/23 06:36, Konrad Dybcio wrote:
>> On 17.11.2023 12:39, Sibi Sankar wrote:
>>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>
>>> Add base dtsi and QCP board (Qualcomm Compute Platform) dts file for
>>> X1E80100 SoC, describing the CPUs, GCC and RPMHCC clock controllers,
>>> geni UART, interrupt controller, TLMM, reserved memory, interconnects,
>>> SMMU and LLCC nodes.
>>>
>>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>>> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
>>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>>> ---
[...]


>>> +        idle-states {
>>> +            entry-method = "psci";
>>> +
>>> +            CLUSTER_C4: cpu-sleep-0 {
>>> +                compatible = "arm,idle-state";
>>> +                idle-state-name = "ret";
>>> +                arm,psci-suspend-param = <0x00000004>;
>> These suspend parameters look funky.. is this just a PSCI sleep
>> implementation that strays far away from Arm's suggested guidelines?
> 
> not really! it's just that 30th bit is set according to spec i.e
> it's marked as a retention state.
So, is there no state where the cores actually power down? Or is it
not described yet?

FWIW by "power down" I mean it in the sense that Arm DEN0022D does,
so "In this state the core is powered off. Software on the device
needs to save all core state, so that it can be preserved over
the powerdown."

> 
>>
>> [...]
>>
>>
>>> +        CPU_PD11: power-domain-cpu11 {
>>> +            #power-domain-cells = <0>;
>>> +            power-domains = <&CLUSTER_PD>;
>>> +        };
>>> +
>>> +        CLUSTER_PD: power-domain-cpu-cluster {
>>> +            #power-domain-cells = <0>;
>>> +            domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
>>> +        };
>> So, can the 3 clusters not shut down their L2 and PLLs (if separate?)
>> on their own?
> 
> on CL5 the clusters are expected to shutdown their l2 and PLL on their
> own.
Then I think this won't happen with this description

every cpu has a genpd tree like this:

cpu_n
 |_CPU_PDn
    |_CLUSTER_PD

and CLUSTER_PD has two idle states: CLUSTER_CL4 and CLUSTER_CL5

which IIUC means that neither cluster idle state will be reached
unless all children of CLUSTER_PD (so, all CPUs) go down that low

This is "fine" on e.g. sc8280 where both CPU clusters are part of
the same Arm DynamIQ cluster (which is considered one cluster as
far as MPIDR_EL1 goes) (though perhaps that's misleading and with
the qcom plumbing they perhaps could actually be collapsed separately)

Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
  2023-11-29 12:54       ` Konrad Dybcio
@ 2023-11-29 15:46         ` Sibi Sankar
  2023-11-29 22:29           ` Konrad Dybcio
  0 siblings, 1 reply; 22+ messages in thread
From: Sibi Sankar @ 2023-11-29 15:46 UTC (permalink / raw)
  To: Konrad Dybcio, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong



On 11/29/23 18:24, Konrad Dybcio wrote:
> On 29.11.2023 10:25, Sibi Sankar wrote:
>>
>>
>> On 11/18/23 06:36, Konrad Dybcio wrote:
>>> On 17.11.2023 12:39, Sibi Sankar wrote:
>>>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>>
>>>> Add base dtsi and QCP board (Qualcomm Compute Platform) dts file for
>>>> X1E80100 SoC, describing the CPUs, GCC and RPMHCC clock controllers,
>>>> geni UART, interrupt controller, TLMM, reserved memory, interconnects,
>>>> SMMU and LLCC nodes.
>>>>
>>>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>>>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
>>>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>>>> ---
> [...]
> 
> 
>>>> +        idle-states {
>>>> +            entry-method = "psci";
>>>> +
>>>> +            CLUSTER_C4: cpu-sleep-0 {
>>>> +                compatible = "arm,idle-state";
>>>> +                idle-state-name = "ret";
>>>> +                arm,psci-suspend-param = <0x00000004>;
>>> These suspend parameters look funky.. is this just a PSCI sleep
>>> implementation that strays far away from Arm's suggested guidelines?
>>
>> not really! it's just that 30th bit is set according to spec i.e
>> it's marked as a retention state.
> So, is there no state where the cores actually power down? Or is it
> not described yet?
> 
> FWIW by "power down" I mean it in the sense that Arm DEN0022D does,
> so "In this state the core is powered off. Software on the device
> needs to save all core state, so that it can be preserved over
> the powerdown."

I was told we mark it explicitly as retention because hw is expected
to handle powerdown and we don't want sw to also do the same.

> 
>>
>>>
>>> [...]
>>>
>>>
>>>> +        CPU_PD11: power-domain-cpu11 {
>>>> +            #power-domain-cells = <0>;
>>>> +            power-domains = <&CLUSTER_PD>;
>>>> +        };
>>>> +
>>>> +        CLUSTER_PD: power-domain-cpu-cluster {
>>>> +            #power-domain-cells = <0>;
>>>> +            domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
>>>> +        };
>>> So, can the 3 clusters not shut down their L2 and PLLs (if separate?)
>>> on their own?
>>
>> on CL5 the clusters are expected to shutdown their l2 and PLL on their
>> own.
> Then I think this won't happen with this description
> 
> every cpu has a genpd tree like this:
> 
> cpu_n
>   |_CPU_PDn
>      |_CLUSTER_PD
> 
> and CLUSTER_PD has two idle states: CLUSTER_CL4 and CLUSTER_CL5
> 
> which IIUC means that neither cluster idle state will be reached
> unless all children of CLUSTER_PD (so, all CPUs) go down that low
> 
> This is "fine" on e.g. sc8280 where both CPU clusters are part of
> the same Arm DynamIQ cluster (which is considered one cluster as
> far as MPIDR_EL1 goes) (though perhaps that's misleading and with
> the qcom plumbing they perhaps could actually be collapsed separately)

We did verify that the sleep stats increase independently for each
cluster, so it's behavior is unlike what you explained above. I'll
re-spin this series again in the meantime and you can take another
stab at it there.

-Sibi

> 
> Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
  2023-11-29 15:46         ` Sibi Sankar
@ 2023-11-29 22:29           ` Konrad Dybcio
  2023-11-30 11:23             ` Sibi Sankar
  0 siblings, 1 reply; 22+ messages in thread
From: Konrad Dybcio @ 2023-11-29 22:29 UTC (permalink / raw)
  To: Sibi Sankar, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong

On 29.11.2023 16:46, Sibi Sankar wrote:
> 
> 
> On 11/29/23 18:24, Konrad Dybcio wrote:
>> On 29.11.2023 10:25, Sibi Sankar wrote:
>>>
>>>
>>> On 11/18/23 06:36, Konrad Dybcio wrote:
>>>> On 17.11.2023 12:39, Sibi Sankar wrote:
>>>>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>>>
>>>>> Add base dtsi and QCP board (Qualcomm Compute Platform) dts file for
>>>>> X1E80100 SoC, describing the CPUs, GCC and RPMHCC clock controllers,
>>>>> geni UART, interrupt controller, TLMM, reserved memory, interconnects,
>>>>> SMMU and LLCC nodes.
>>>>>
>>>>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>>>>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>>>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>>> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
>>>>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>>>>> ---
>> [...]
>>
>>
>>>>> +        idle-states {
>>>>> +            entry-method = "psci";
>>>>> +
>>>>> +            CLUSTER_C4: cpu-sleep-0 {
>>>>> +                compatible = "arm,idle-state";
>>>>> +                idle-state-name = "ret";
>>>>> +                arm,psci-suspend-param = <0x00000004>;
>>>> These suspend parameters look funky.. is this just a PSCI sleep
>>>> implementation that strays far away from Arm's suggested guidelines?
>>>
>>> not really! it's just that 30th bit is set according to spec i.e
>>> it's marked as a retention state.
>> So, is there no state where the cores actually power down? Or is it
>> not described yet?
>>
>> FWIW by "power down" I mean it in the sense that Arm DEN0022D does,
>> so "In this state the core is powered off. Software on the device
>> needs to save all core state, so that it can be preserved over
>> the powerdown."
> 
> I was told we mark it explicitly as retention because hw is expected
> to handle powerdown and we don't want sw to also do the same.
> 
>>
>>>
>>>>
>>>> [...]
>>>>
>>>>
>>>>> +        CPU_PD11: power-domain-cpu11 {
>>>>> +            #power-domain-cells = <0>;
>>>>> +            power-domains = <&CLUSTER_PD>;
>>>>> +        };
>>>>> +
>>>>> +        CLUSTER_PD: power-domain-cpu-cluster {
>>>>> +            #power-domain-cells = <0>;
>>>>> +            domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
>>>>> +        };
>>>> So, can the 3 clusters not shut down their L2 and PLLs (if separate?)
>>>> on their own?
>>>
>>> on CL5 the clusters are expected to shutdown their l2 and PLL on their
>>> own.
>> Then I think this won't happen with this description
>>
>> every cpu has a genpd tree like this:
>>
>> cpu_n
>>   |_CPU_PDn
>>      |_CLUSTER_PD
>>
>> and CLUSTER_PD has two idle states: CLUSTER_CL4 and CLUSTER_CL5
>>
>> which IIUC means that neither cluster idle state will be reached
>> unless all children of CLUSTER_PD (so, all CPUs) go down that low
>>
>> This is "fine" on e.g. sc8280 where both CPU clusters are part of
>> the same Arm DynamIQ cluster (which is considered one cluster as
>> far as MPIDR_EL1 goes) (though perhaps that's misleading and with
>> the qcom plumbing they perhaps could actually be collapsed separately)
> 
> We did verify that the sleep stats increase independently for each
> cluster, so it's behavior is unlike what you explained above. I'll
> re-spin this series again in the meantime and you can take another
> stab at it there.
So are you saying that you checked the RPMh sleep stats and each cluster
managed to sleep on its own, or did you do something different?

Were the sleep durations far apart? What's the order of magnitude of that
difference? Are the values reported in RPMh greater than those in
/sys/kernel/debug/pm_genpd/power-domain-cpu-cluster/total_idle_time?

Is there any other (i.e. non-Linux) source of "go to sleep" votes?

Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts
  2023-11-29 22:29           ` Konrad Dybcio
@ 2023-11-30 11:23             ` Sibi Sankar
  0 siblings, 0 replies; 22+ messages in thread
From: Sibi Sankar @ 2023-11-30 11:23 UTC (permalink / raw)
  To: Konrad Dybcio, andersson, robh+dt, krzysztof.kozlowski+dt,
	catalin.marinas, ulf.hansson
  Cc: agross, conor+dt, ayan.kumar.halder, j, dmitry.baryshkov,
	nfraprado, m.szyprowski, u-kumar1, peng.fan, lpieralisi,
	quic_rjendra, abel.vesa, linux-arm-msm, devicetree, linux-kernel,
	linux-arm-kernel, quic_tsoni, neil.armstrong



On 11/30/23 03:59, Konrad Dybcio wrote:
> On 29.11.2023 16:46, Sibi Sankar wrote:
>>
>>
>> On 11/29/23 18:24, Konrad Dybcio wrote:
>>> On 29.11.2023 10:25, Sibi Sankar wrote:
>>>>
>>>>
>>>> On 11/18/23 06:36, Konrad Dybcio wrote:
>>>>> On 17.11.2023 12:39, Sibi Sankar wrote:
>>>>>> From: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>>>>
>>>>>> Add base dtsi and QCP board (Qualcomm Compute Platform) dts file for
>>>>>> X1E80100 SoC, describing the CPUs, GCC and RPMHCC clock controllers,
>>>>>> geni UART, interrupt controller, TLMM, reserved memory, interconnects,
>>>>>> SMMU and LLCC nodes.
>>>>>>
>>>>>> Co-developed-by: Abel Vesa <abel.vesa@linaro.org>
>>>>>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
>>>>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
>>>>>> Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com>
>>>>>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
>>>>>> ---
>>> [...]
>>>
>>>
>>>>>> +        idle-states {
>>>>>> +            entry-method = "psci";
>>>>>> +
>>>>>> +            CLUSTER_C4: cpu-sleep-0 {
>>>>>> +                compatible = "arm,idle-state";
>>>>>> +                idle-state-name = "ret";
>>>>>> +                arm,psci-suspend-param = <0x00000004>;
>>>>> These suspend parameters look funky.. is this just a PSCI sleep
>>>>> implementation that strays far away from Arm's suggested guidelines?
>>>>
>>>> not really! it's just that 30th bit is set according to spec i.e
>>>> it's marked as a retention state.
>>> So, is there no state where the cores actually power down? Or is it
>>> not described yet?
>>>
>>> FWIW by "power down" I mean it in the sense that Arm DEN0022D does,
>>> so "In this state the core is powered off. Software on the device
>>> needs to save all core state, so that it can be preserved over
>>> the powerdown."
>>
>> I was told we mark it explicitly as retention because hw is expected
>> to handle powerdown and we don't want sw to also do the same.
>>
>>>
>>>>
>>>>>
>>>>> [...]
>>>>>
>>>>>
>>>>>> +        CPU_PD11: power-domain-cpu11 {
>>>>>> +            #power-domain-cells = <0>;
>>>>>> +            power-domains = <&CLUSTER_PD>;
>>>>>> +        };
>>>>>> +
>>>>>> +        CLUSTER_PD: power-domain-cpu-cluster {
>>>>>> +            #power-domain-cells = <0>;
>>>>>> +            domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
>>>>>> +        };
>>>>> So, can the 3 clusters not shut down their L2 and PLLs (if separate?)
>>>>> on their own?
>>>>
>>>> on CL5 the clusters are expected to shutdown their l2 and PLL on their
>>>> own.
>>> Then I think this won't happen with this description
>>>
>>> every cpu has a genpd tree like this:
>>>
>>> cpu_n
>>>    |_CPU_PDn
>>>       |_CLUSTER_PD
>>>
>>> and CLUSTER_PD has two idle states: CLUSTER_CL4 and CLUSTER_CL5
>>>
>>> which IIUC means that neither cluster idle state will be reached
>>> unless all children of CLUSTER_PD (so, all CPUs) go down that low
>>>
>>> This is "fine" on e.g. sc8280 where both CPU clusters are part of
>>> the same Arm DynamIQ cluster (which is considered one cluster as
>>> far as MPIDR_EL1 goes) (though perhaps that's misleading and with
>>> the qcom plumbing they perhaps could actually be collapsed separately)
>>
>> We did verify that the sleep stats increase independently for each
>> cluster, so it's behavior is unlike what you explained above. I'll
>> re-spin this series again in the meantime and you can take another
>> stab at it there.
> So are you saying that you checked the RPMh sleep stats and each cluster
> managed to sleep on its own, or did you do something different?

We had used some jtag scripts but what you said is correct, there
definitely needs to be separate cluster_pd defined for each cluster.
Will fix this in the next re-spin.

-Sibi

> 
> Were the sleep durations far apart? What's the order of magnitude of that
> difference? Are the values reported in RPMh greater than those in
> /sys/kernel/debug/pm_genpd/power-domain-cpu-cluster/total_idle_time?
> 
> Is there any other (i.e. non-Linux) source of "go to sleep" votes?
> 
> Konrad

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2023-11-30 11:24 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-17 11:39 [PATCH V2 0/5] dts: qcom: Introduce X1E80100 platforms device tree Sibi Sankar
2023-11-17 11:39 ` [PATCH V2 1/5] dt-bindings: arm: cpus: Add qcom,oryon compatible Sibi Sankar
2023-11-19 15:59   ` Rob Herring
2023-11-20  6:44     ` Sibi Sankar
2023-11-29 10:37       ` Sibi Sankar
2023-11-17 11:39 ` [PATCH V2 2/5] dt-bindings: arm: qcom: Document X1E80100 SoC and boards Sibi Sankar
2023-11-20  9:11   ` Krzysztof Kozlowski
2023-11-17 11:39 ` [PATCH V2 4/5] arm64: dts: qcom: x1e80100: Add Compute Reference Device Sibi Sankar
2023-11-18  1:07   ` Konrad Dybcio
2023-11-20  6:51     ` Sibi Sankar
2023-11-20 11:54       ` Konrad Dybcio
2023-11-20  9:04   ` Abel Vesa
2023-11-17 11:39 ` [PATCH V2 5/5] arm64: defconfig: Enable X1E80100 SoC base configs Sibi Sankar
2023-11-20  9:12   ` Krzysztof Kozlowski
     [not found] ` <20231117113931.26660-4-quic_sibis@quicinc.com>
2023-11-18  1:06   ` [PATCH V2 3/5] arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts Konrad Dybcio
2023-11-29  9:25     ` Sibi Sankar
2023-11-29 12:54       ` Konrad Dybcio
2023-11-29 15:46         ` Sibi Sankar
2023-11-29 22:29           ` Konrad Dybcio
2023-11-30 11:23             ` Sibi Sankar
2023-11-21  7:20   ` kernel test robot
2023-11-21 14:03   ` kernel test robot

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).