linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board
@ 2021-12-01  7:29 Vinod Koul
  2021-12-01  7:29 ` [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI Vinod Koul
                   ` (14 more replies)
  0 siblings, 15 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Snapdragon 8 Gen 1 Mobile Platform [1] (SM8450) is the latest Qualcomm SoC
announced today.

This series adds the DTS support including clocks, tlmm, smmu, regulators,
ufs, interconnects, pmics and cpufreq found in the SM8450 QRD board.

[1]: https://www.qualcomm.com/products/snapdragon-8-gen-1-mobile-platform

Dmitry Baryshkov (2):
  arm64: dts: qcom: sm8450: Add rpmhpd node
  arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes

Vinod Koul (12):
  arm64: dts: qcom: Add base SM8450 DTSI
  arm64: dts: qcom: Add base SM8450 QRD DTS
  arm64: dts: qcom: sm8450: Add tlmm nodes
  arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD
  arm64: dts: qcom: sm8450: Add reserved memory nodes
  arm64: dts: qcom: sm8450: add smmu nodes
  arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes
  arm64: dts: qcom: sm8450: add ufs nodes
  arm64: dts: qcom: sm8450-qrd: enable ufs nodes
  arm64: dts: qcom: sm8450: add interconnect nodes
  arm64: dts: qcom: sm8450: add spmi node
  arm64: dts: qcom: sm8450-qrd: include pmic files

Vladimir Zapolskiy (1):
  arm64: dts: qcom: sm8450: add cpufreq support

 arch/arm64/boot/dts/qcom/Makefile       |    1 +
 arch/arm64/boot/dts/qcom/sm8450-qrd.dts |  379 ++++++++
 arch/arm64/boot/dts/qcom/sm8450.dtsi    | 1142 +++++++++++++++++++++++
 3 files changed, 1522 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450-qrd.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450.dtsi

-- 
2.31.1


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

* [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:03   ` Konrad Dybcio
  2021-12-07 14:53   ` Bjorn Andersson
  2021-12-01  7:29 ` [PATCH 02/15] arm64: dts: qcom: Add base SM8450 QRD DTS Vinod Koul
                   ` (13 subsequent siblings)
  14 siblings, 2 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

This add based DTSI for SM8450 SoC and includes base description of
CPUs, GCC, RPMHCC, UART, interuupt-controller which helps to boot to
shell with console on boards with this SoC

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 476 +++++++++++++++++++++++++++
 1 file changed, 476 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450.dtsi

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
new file mode 100644
index 000000000000..d838283bde4b
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -0,0 +1,476 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2021, Linaro Limited
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/qcom,gcc-sm8450.h>
+#include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/soc/qcom,rpmh-rsc.h>
+
+/ {
+	interrupt-parent = <&intc>;
+
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	chosen { };
+
+	clocks {
+		xo_board: xo-board {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <76800000>;
+			clock-output-names = "xo_board";
+		};
+
+		sleep_clk: sleep-clk {
+			compatible = "fixed-clock";
+			clock-frequency = <32000>;
+			#clock-cells = <0>;
+		};
+	};
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		CPU0: cpu@0 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x0>;
+			enable-method = "psci";
+			next-level-cache = <&L2_0>;
+			power-domains = <&CPU_PD0>;
+			power-domain-names = "psci";
+			L2_0: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+				L3_0: l3-cache {
+				      compatible = "cache";
+				};
+			};
+		};
+
+		CPU1: cpu@100 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x100>;
+			enable-method = "psci";
+			next-level-cache = <&L2_100>;
+			power-domains = <&CPU_PD1>;
+			power-domain-names = "psci";
+			L2_100: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+		};
+
+		CPU2: cpu@200 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x200>;
+			enable-method = "psci";
+			next-level-cache = <&L2_200>;
+			power-domains = <&CPU_PD2>;
+			power-domain-names = "psci";
+			L2_200: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+		};
+
+		CPU3: cpu@300 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x300>;
+			enable-method = "psci";
+			next-level-cache = <&L2_300>;
+			power-domains = <&CPU_PD3>;
+			power-domain-names = "psci";
+			L2_300: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+		};
+
+		CPU4: cpu@400 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x400>;
+			enable-method = "psci";
+			next-level-cache = <&L2_400>;
+			power-domains = <&CPU_PD4>;
+			power-domain-names = "psci";
+			L2_400: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+		};
+
+		CPU5: cpu@500 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x500>;
+			enable-method = "psci";
+			next-level-cache = <&L2_500>;
+			power-domains = <&CPU_PD5>;
+			power-domain-names = "psci";
+			L2_500: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+
+		};
+
+		CPU6: cpu@600 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x600>;
+			enable-method = "psci";
+			next-level-cache = <&L2_600>;
+			power-domains = <&CPU_PD6>;
+			power-domain-names = "psci";
+			L2_600: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+		};
+
+		CPU7: cpu@700 {
+			device_type = "cpu";
+			compatible = "qcom,kryo780";
+			reg = <0x0 0x700>;
+			enable-method = "psci";
+			next-level-cache = <&L2_700>;
+			power-domains = <&CPU_PD7>;
+			power-domain-names = "psci";
+			L2_700: l2-cache {
+			      compatible = "cache";
+			      next-level-cache = <&L3_0>;
+			};
+		};
+
+		cpu-map {
+			cluster0 {
+				core0 {
+					cpu = <&CPU0>;
+				};
+
+				core1 {
+					cpu = <&CPU1>;
+				};
+
+				core2 {
+					cpu = <&CPU2>;
+				};
+
+				core3 {
+					cpu = <&CPU3>;
+				};
+
+				core4 {
+					cpu = <&CPU4>;
+				};
+
+				core5 {
+					cpu = <&CPU5>;
+				};
+
+				core6 {
+					cpu = <&CPU6>;
+				};
+
+				core7 {
+					cpu = <&CPU7>;
+				};
+			};
+		};
+
+		idle-states {
+			entry-method = "psci";
+
+			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
+				compatible = "arm,idle-state";
+				idle-state-name = "silver-rail-power-collapse";
+				arm,psci-suspend-param = <0x40000004>;
+				entry-latency-us = <274>;
+				exit-latency-us = <480>;
+				min-residency-us = <3934>;
+				local-timer-stop;
+			};
+
+			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
+				compatible = "arm,idle-state";
+				idle-state-name = "gold-rail-power-collapse";
+				arm,psci-suspend-param = <0x40000004>;
+				entry-latency-us = <327>;
+				exit-latency-us = <1502>;
+				min-residency-us = <4488>;
+				local-timer-stop;
+			};
+		};
+
+		domain-idle-states {
+			CLUSTER_SLEEP_0: cluster-sleep-0 {
+				compatible = "domain-idle-state";
+				idle-state-name = "cluster-l3-off";
+				arm,psci-suspend-param = <0x4100c344>;
+				entry-latency-us = <584>;
+				exit-latency-us = <2332>;
+				min-residency-us = <6118>;
+				local-timer-stop;
+			};
+
+			CLUSTER_SLEEP_1: cluster-sleep-1 {
+				compatible = "domain-idle-state";
+				idle-state-name = "cluster-power-collapse";
+				arm,psci-suspend-param = <0x4100c344>;
+				entry-latency-us = <2893>;
+				exit-latency-us = <4023>;
+				min-residency-us = <9987>;
+				local-timer-stop;
+			};
+		};
+	};
+
+	firmware {
+		scm: scm {
+			compatible = "qcom,scm-sm8450", "qcom,scm";
+			#reset-cells = <1>;
+		};
+	};
+
+	memory@a0000000 {
+		device_type = "memory";
+		/* We expect the bootloader to fill in the size */
+		reg = <0x0 0xa0000000 0x0 0x0>;
+	};
+
+	pmu {
+		compatible = "arm,armv8-pmuv3";
+		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
+	};
+
+	psci {
+		compatible = "arm,psci-1.0";
+		method = "smc";
+
+		CPU_PD0: cpu0 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
+		};
+
+		CPU_PD1: cpu1 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
+		};
+
+		CPU_PD2: cpu2 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
+		};
+
+		CPU_PD3: cpu3 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
+		};
+
+		CPU_PD4: cpu4 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&BIG_CPU_SLEEP_0>;
+		};
+
+		CPU_PD5: cpu5 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&BIG_CPU_SLEEP_0>;
+		};
+
+		CPU_PD6: cpu6 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&BIG_CPU_SLEEP_0>;
+		};
+
+		CPU_PD7: cpu7 {
+			#power-domain-cells = <0>;
+			power-domains = <&CLUSTER_PD>;
+			domain-idle-states = <&BIG_CPU_SLEEP_0>;
+		};
+
+		CLUSTER_PD: cpu-cluster0 {
+			#power-domain-cells = <0>;
+			domain-idle-states = <&CLUSTER_SLEEP_0>;
+		};
+	};
+
+	soc: soc@0 {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges = <0 0 0 0 0x10 0>;
+		dma-ranges = <0 0 0 0 0x10 0>;
+		compatible = "simple-bus";
+
+		gcc: clock-controller@100000 {
+			compatible = "qcom,gcc-sm8450";
+			reg = <0x0 0x00100000 0x0 0x1f4200>;
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+			#power-domain-cells = <1>;
+			clock-names = "bi_tcxo", "sleep_clk";
+			clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>;
+		};
+
+		qupv3_id_0: geniqup@9c0000 {
+			compatible = "qcom,geni-se-qup";
+			reg = <0x0 0x009c0000 0x0 0x2000>;
+			clock-names = "m-ahb", "s-ahb";
+			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
+				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
+			#address-cells = <2>;
+			#size-cells = <2>;
+			ranges;
+			status = "disabled";
+
+			uart7: serial@99c000 {
+				compatible = "qcom,geni-debug-uart";
+				reg = <0 0x0099c000 0 0x4000>;
+				clock-names = "se";
+				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
+				interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
+		tcsr_mutex: hwlock@1f40000 {
+			compatible = "qcom,tcsr-mutex";
+			reg = <0x0 0x01f40000 0x0 0x40000>;
+			#hwlock-cells = <1>;
+		};
+
+		pdc: interrupt-controller@b220000 {
+			compatible = "qcom,sm8450-pdc", "qcom,pdc";
+			reg = <0 0x0b220000 0 0x30000>, <0 0x174000f0 0 0x64>;
+			qcom,pdc-ranges = <0 480 12>, <14 494 24>, <40 520 54>,
+					  <94 609 31>, <125 63 1>, <126 716 12>;
+			#interrupt-cells = <2>;
+			interrupt-parent = <&intc>;
+			interrupt-controller;
+		};
+
+		intc: interrupt-controller@17100000 {
+			compatible = "arm,gic-v3";
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			#redistributor-regions = <1>;
+			redistributor-stride = <0x0 0x40000>;
+			reg = <0x0 0x17100000 0x0 0x10000>,     /* GICD */
+			      <0x0 0x17180000 0x0 0x200000>;    /* GICR * 8 */
+			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
+		timer@17420000 {
+			compatible = "arm,armv7-timer-mem";
+			#address-cells = <2>;
+			#size-cells = <2>;
+			ranges;
+			reg = <0x0 0x17420000 0x0 0x1000>;
+			clock-frequency = <19200000>;
+
+			frame@17421000 {
+				frame-number = <0>;
+				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x17421000 0x0 0x1000>,
+				      <0x0 0x17422000 0x0 0x1000>;
+			};
+
+			frame@17423000 {
+				frame-number = <1>;
+				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x17423000 0x0 0x1000>;
+				status = "disabled";
+			};
+
+			frame@17425000 {
+				frame-number = <2>;
+				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x17425000 0x0 0x1000>;
+				status = "disabled";
+			};
+
+			frame@17427000 {
+				frame-number = <3>;
+				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x17427000 0x0 0x1000>;
+				status = "disabled";
+			};
+
+			frame@17429000 {
+				frame-number = <4>;
+				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x17429000 0x0 0x1000>;
+				status = "disabled";
+			};
+
+			frame@1742b000 {
+				frame-number = <5>;
+				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x1742b000 0x0 0x1000>;
+				status = "disabled";
+			};
+
+			frame@1742d000 {
+				frame-number = <6>;
+				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+				reg = <0x0 0x1742d000 0x0 0x1000>;
+				status = "disabled";
+			};
+		};
+
+		apps_rsc: rsc@17a00000 {
+			label = "apps_rsc";
+			compatible = "qcom,rpmh-rsc";
+			reg = <0x0 0x17a00000 0x0 0x10000>,
+			      <0x0 0x17a10000 0x0 0x10000>,
+			      <0x0 0x17a20000 0x0 0x10000>,
+			      <0x0 0x17a30000 0x0 0x10000>;
+			reg-names = "drv-0", "drv-1", "drv-2", "drv-3";
+			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+			qcom,tcs-offset = <0xd00>;
+			qcom,drv-id = <2>;
+			qcom,tcs-config = <ACTIVE_TCS  3>, <SLEEP_TCS   2>,
+					  <WAKE_TCS    2>, <CONTROL_TCS 0>;
+
+			apps_bcm_voter: bcm-voter {
+				compatible = "qcom,bcm-voter";
+			};
+
+			rpmhcc: clock-controller {
+				compatible = "qcom,sm8450-rpmh-clk";
+				#clock-cells = <1>;
+				clock-names = "xo";
+				clocks = <&xo_board>;
+			};
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <19200000>;
+	};
+};
-- 
2.31.1


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

* [PATCH 02/15] arm64: dts: qcom: Add base SM8450 QRD DTS
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
  2021-12-01  7:29 ` [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:05   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 03/15] arm64: dts: qcom: sm8450: Add tlmm nodes Vinod Koul
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Add DTS for Qualcomm QRD platform which uses SM8450 SoC

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/Makefile       |  1 +
 arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 29 +++++++++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8450-qrd.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6b816eb33309..9b37261484cf 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -107,3 +107,4 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm8250-sony-xperia-edo-pdx203.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8250-sony-xperia-edo-pdx206.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8350-hdk.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm8350-mtp.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sm8450-qrd.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
new file mode 100644
index 000000000000..127d32502555
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2021, Linaro Limited
+ */
+
+/dts-v1/;
+
+#include "sm8450.dtsi"
+
+/ {
+	model = "Qualcomm Technologies, Inc. SM8450 QRD";
+	compatible = "qcom,sm8450-qrd", "qcom,sm8450";
+
+	aliases {
+		serial0 = &uart7;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&qupv3_id_0 {
+	status = "okay";
+};
+
+&uart7 {
+	status = "okay";
+};
-- 
2.31.1


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

* [PATCH 03/15] arm64: dts: qcom: sm8450: Add tlmm nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
  2021-12-01  7:29 ` [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI Vinod Koul
  2021-12-01  7:29 ` [PATCH 02/15] arm64: dts: qcom: Add base SM8450 QRD DTS Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-07 14:37   ` Bjorn Andersson
  2021-12-01  7:29 ` [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD Vinod Koul
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Add tlmm node found in SM8450 SoC and uart pin configuration

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 29 ++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index d838283bde4b..f0b9e80238a2 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -343,6 +343,8 @@ uart7: serial@99c000 {
 				reg = <0 0x0099c000 0 0x4000>;
 				clock-names = "se";
 				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&qup_uart7_default_state>;
 				interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
 				#address-cells = <1>;
 				#size-cells = <0>;
@@ -366,6 +368,33 @@ pdc: interrupt-controller@b220000 {
 			interrupt-controller;
 		};
 
+		tlmm: pinctrl@f100000 {
+			compatible = "qcom,sm8450-tlmm";
+			reg = <0 0x0f100000 0 0x300000>;
+			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
+			gpio-controller;
+			#gpio-cells = <2>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
+			gpio-ranges = <&tlmm 0 0 211>;
+			wakeup-parent = <&pdc>;
+
+			qup_uart7_default_state: qup-uart3-default-state {
+				rx {
+					pins = "gpio26";
+					function = "qup7";
+					drive-strength = <2>;
+					bias-disable;
+				};
+				tx {
+					pins = "gpio27";
+					function = "qup7";
+					drive-strength = <2>;
+					bias-disable;
+				};
+			};
+		};
+
 		intc: interrupt-controller@17100000 {
 			compatible = "arm,gic-v3";
 			#interrupt-cells = <3>;
-- 
2.31.1


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

* [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (2 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 03/15] arm64: dts: qcom: sm8450: Add tlmm nodes Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:07   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes Vinod Koul
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Some tlmm gpios are reserved, so mark them as such in QRD DTS

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
index 127d32502555..8dcd41c4e5ab 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
@@ -24,6 +24,10 @@ &qupv3_id_0 {
 	status = "okay";
 };
 
+&tlmm {
+	gpio-reserved-ranges = <28 4>, <36 4>;
+};
+
 &uart7 {
 	status = "okay";
 };
-- 
2.31.1


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

* [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (3 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:11   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 06/15] arm64: dts: qcom: sm8450: add smmu nodes Vinod Koul
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Add the reserved memory nodes for SM8450. This is based on the downstream
documentation.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 221 +++++++++++++++++++++++++++
 1 file changed, 221 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index f0b9e80238a2..79aead4cba66 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -310,6 +310,227 @@ CLUSTER_PD: cpu-cluster0 {
 		};
 	};
 
+	reserved_memory: reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		hyp_mem: memory@80000000 {
+			no-map;
+			reg = <0x0 0x80000000 0x0 0x600000>;
+		};
+
+		xbl_dt_log_mem: memory@80600000 {
+			no-map;
+			reg = <0x0 0x80600000 0x0 0x40000>;
+		};
+
+		xbl_ramdump_mem: memory@80640000 {
+			no-map;
+			reg = <0x0 0x80640000 0x0 0x180000>;
+		};
+
+		xbl_sc_mem: memory@807c0000 {
+			no-map;
+			reg = <0x0 0x807c0000 0x0 0x40000>;
+		};
+
+		aop_image_mem: memory@80800000 {
+			no-map;
+			reg = <0x0 0x80800000 0x0 0x60000>;
+		};
+
+		aop_cmd_db_mem: memory@80860000 {
+			compatible = "qcom,cmd-db";
+			no-map;
+			reg = <0x0 0x80860000 0x0 0x20000>;
+		};
+
+		aop_config_mem: memory@80880000 {
+			no-map;
+			reg = <0x0 0x80880000 0x0 0x20000>;
+		};
+
+		tme_crash_dump_mem: memory@808a0000 {
+			no-map;
+			reg = <0x0 0x808a0000 0x0 0x40000>;
+		};
+
+		tme_log_mem: memory@808e0000 {
+			no-map;
+			reg = <0x0 0x808e0000 0x0 0x4000>;
+		};
+
+		uefi_log_mem: memory@808e4000 {
+			no-map;
+			reg = <0x0 0x808e4000 0x0 0x10000>;
+		};
+
+		/* secdata region can be reused by apps */
+		smem: memory@80900000 {
+			compatible = "qcom,smem";
+			no-map;
+			reg = <0x0 0x80900000 0x0 0x200000>;
+			hwlocks = <&tcsr_mutex 3>;
+		};
+
+		cpucp_fw_mem: memory@80b00000 {
+			no-map;
+			reg = <0x0 0x80b00000 0x0 0x100000>;
+		};
+
+		cdsp_secure_heap: memory@80c00000 {
+			no-map;
+			reg = <0x0 0x80c00000 0x0 0x4600000>;
+		};
+
+		camera_mem: memory@85200000 {
+			no-map;
+			reg = <0x0 0x85200000 0x0 0x500000>;
+		};
+
+		video_mem: memory@85700000 {
+			no-map;
+			reg = <0x0 0x85700000 0x0 0x700000>;
+		};
+
+		adsp_mem: memory@85e00000 {
+			no-map;
+			reg = <0x0 0x85e00000 0x0 0x2100000>;
+		};
+
+		slpi_mem: memory@88000000 {
+			no-map;
+			reg = <0x0 0x88000000 0x0 0x1900000>;
+		};
+
+		cdsp_mem: memory@89900000 {
+			no-map;
+			reg = <0x0 0x89900000 0x0 0x2000000>;
+		};
+
+		ipa_fw_mem: memory@8b900000 {
+			no-map;
+			reg = <0x0 0x8b900000 0x0 0x10000>;
+		};
+
+		ipa_gsi_mem: memory@8b910000 {
+			no-map;
+			reg = <0x0 0x8b910000 0x0 0xa000>;
+		};
+
+		gpu_micro_code_mem: memory@8b91a000 {
+			no-map;
+			reg = <0x0 0x8b91a000 0x0 0x2000>;
+		};
+
+		spss_region_mem: memory@8ba00000 {
+			no-map;
+			reg = <0x0 0x8ba00000 0x0 0x180000>;
+		};
+
+		/* First part of the "SPU secure shared memory" region */
+		spu_tz_shared_mem: memory@8bb80000 {
+			no-map;
+			reg = <0x0 0x8bb80000 0x0 0x60000>;
+		};
+
+		/* Second part of the "SPU secure shared memory" region */
+		spu_modem_shared_mem: memory@8bbe0000 {
+			no-map;
+			reg = <0x0 0x8bbe0000 0x0 0x20000>;
+		};
+
+		mpss_mem: memory@8bc00000 {
+			no-map;
+			reg = <0x0 0x8bc00000 0x0 0x13200000>;
+		};
+
+		cvp_mem: memory@9ee00000 {
+			no-map;
+			reg = <0x0 0x9ee00000 0x0 0x700000>;
+		};
+
+		global_sync_mem: memory@a6f00000 {
+			no-map;
+			reg = <0x0 0xa6f00000 0x0 0x100000>;
+		};
+
+		/* uefi region can be reused by apps */
+
+		/* Linux kernel image is loaded at 0xa0000000 */
+
+		oem_vm_mem: memory@bb000000 {
+			no-map;
+			reg = <0x0 0xbb000000 0x0 0x5000000>;
+		};
+
+		mte_mem: memory@c0000000 {
+			no-map;
+			reg = <0x0 0xc0000000 0x0 0x20000000>;
+		};
+
+		qheebsp_reserved_mem: memory@e0000000 {
+			no-map;
+			reg = <0x0 0xe0000000 0x0 0x600000>;
+		};
+
+		cpusys_vm_mem: memory@e0600000 {
+			no-map;
+			reg = <0x0 0xe0600000 0x0 0x400000>;
+		};
+
+		hyp_reserved_mem: memory@e0a00000 {
+			no-map;
+			reg = <0x0 0xe0a00000 0x0 0x100000>;
+		};
+
+		trust_ui_vm_mem: memory@e0b00000 {
+			no-map;
+			reg = <0x0 0xe0b00000 0x0 0x4af3000>;
+		};
+
+		trust_ui_vm_qrtr: memory@e55f3000 {
+			no-map;
+			reg = <0x0 0xe55f3000 0x0 0x9000>;
+		};
+
+		trust_ui_vm_vblk0_ring: memory@e55fc000 {
+			no-map;
+			reg = <0x0 0xe55fc000 0x0 0x4000>;
+		};
+
+		trust_ui_vm_swiotlb: memory@e5600000 {
+			no-map;
+			reg = <0x0 0xe5600000 0x0 0x100000>;
+		};
+
+		tz_stat_mem: memory@e8800000 {
+			no-map;
+			reg = <0x0 0xe8800000 0x0 0x100000>;
+		};
+
+		tags_mem: memory@e8900000 {
+			no-map;
+			reg = <0x0 0xe8900000 0x0 0x1200000>;
+		};
+
+		qtee_mem: memory@e9b00000 {
+			no-map;
+			reg = <0x0 0xe9b00000 0x0 0x500000>;
+		};
+
+		trusted_apps_mem: memory@ea000000 {
+			no-map;
+			reg = <0x0 0xea000000 0x0 0x3900000>;
+		};
+
+		trusted_apps_ext_mem: memory@ed900000 {
+			no-map;
+			reg = <0x0 0xed900000 0x0 0x3b00000>;
+		};
+	};
+
 	soc: soc@0 {
 		#address-cells = <2>;
 		#size-cells = <2>;
-- 
2.31.1


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

* [PATCH 06/15] arm64: dts: qcom: sm8450: add smmu nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (4 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:13   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 07/15] arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes Vinod Koul
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Add the apps smmu node as found in the SM8450 SoC

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 103 +++++++++++++++++++++++++++
 1 file changed, 103 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 79aead4cba66..53a6f2275621 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -616,6 +616,109 @@ tx {
 			};
 		};
 
+		apps_smmu: iommu@15000000 {
+			compatible = "qcom,sm8450-smmu-500", "arm,mmu-500";
+			reg = <0 0x15000000 0 0x100000>;
+			#iommu-cells = <2>;
+			#global-interrupts = <2>;
+			interrupts =    <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
 		intc: interrupt-controller@17100000 {
 			compatible = "arm,gic-v3";
 			#interrupt-cells = <3>;
-- 
2.31.1


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

* [PATCH 07/15] arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (5 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 06/15] arm64: dts: qcom: sm8450: add smmu nodes Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:14   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 08/15] arm64: dts: qcom: sm8450: add ufs nodes Vinod Koul
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Add the RPMH regulators found in QRD-SM8450 platform

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 322 ++++++++++++++++++++++++
 1 file changed, 322 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
index 8dcd41c4e5ab..218eb3ce1ee5 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
@@ -5,6 +5,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sm8450.dtsi"
 
 / {
@@ -18,6 +19,327 @@ aliases {
 	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;
+	};
+};
+
+&apps_rsc {
+	pm8350-rpmh-regulators {
+		compatible = "qcom,pm8350-rpmh-regulators";
+		qcom,pmic-id = "b";
+
+		vdd-s1-supply = <&vph_pwr>;
+		vdd-s2-supply = <&vph_pwr>;
+		vdd-s3-supply = <&vph_pwr>;
+		vdd-s4-supply = <&vph_pwr>;
+		vdd-s5-supply = <&vph_pwr>;
+		vdd-s6-supply = <&vph_pwr>;
+		vdd-s7-supply = <&vph_pwr>;
+		vdd-s8-supply = <&vph_pwr>;
+		vdd-s9-supply = <&vph_pwr>;
+		vdd-s10-supply = <&vph_pwr>;
+		vdd-s11-supply = <&vph_pwr>;
+		vdd-s12-supply = <&vph_pwr>;
+
+		vdd-l1-l4-supply = <&vreg_s11b_0p95>;
+		vdd-l2-l7-supply = <&vreg_bob>;
+		vdd-l3-l5-supply = <&vreg_bob>;
+		vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
+		vdd-l8-supply = <&vreg_s2h_0p95>;
+
+		vreg_s10b_1p8: smps10 {
+			regulator-name = "vreg_s10b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+		};
+
+		vreg_s11b_0p95: smps11 {
+			regulator-name = "vreg_s11b_0p95";
+			regulator-min-microvolt = <848000>;
+			regulator-max-microvolt = <1104000>;
+		};
+
+		vreg_s12b_1p25: smps12 {
+			regulator-name = "vreg_s12b_1p25";
+			regulator-min-microvolt = <1224000>;
+			regulator-max-microvolt = <1400000>;
+		};
+
+		vreg_l1b_0p91: ldo1 {
+			regulator-name = "vreg_l1b_0p91";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2b_3p07: ldo2 {
+			regulator-name = "vreg_l2b_3p07";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3b_0p9: ldo3 {
+			regulator-name = "vreg_l3b_0p9";
+			regulator-min-microvolt = <904000>;
+			regulator-max-microvolt = <904000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5b_0p88: ldo5 {
+			regulator-name = "vreg_l5b_0p88";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <888000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6b_1p2: ldo6 {
+			regulator-name = "vreg_l6b_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7b_2p5: ldo7 {
+			regulator-name = "vreg_l7b_2p5";
+			regulator-min-microvolt = <2504000>;
+			regulator-max-microvolt = <2504000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9b_1p2: ldo9 {
+			regulator-name = "vreg_l9b_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	pm8350c-rpmh-regulators {
+		compatible = "qcom,pm8350c-rpmh-regulators";
+		qcom,pmic-id = "c";
+
+		vdd-s1-supply = <&vph_pwr>;
+		vdd-s2-supply = <&vph_pwr>;
+		vdd-s3-supply = <&vph_pwr>;
+		vdd-s4-supply = <&vph_pwr>;
+		vdd-s5-supply = <&vph_pwr>;
+		vdd-s6-supply = <&vph_pwr>;
+		vdd-s7-supply = <&vph_pwr>;
+		vdd-s8-supply = <&vph_pwr>;
+		vdd-s9-supply = <&vph_pwr>;
+		vdd-s10-supply = <&vph_pwr>;
+
+		vdd-l1-l12-supply = <&vreg_bob>;
+		vdd-l2-l8-supply = <&vreg_bob>;
+		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
+		vdd-l6-l9-l11-supply = <&vreg_bob>;
+
+		vdd-bob-supply = <&vph_pwr>;
+
+		vreg_s1c_1p86: smps1 {
+			regulator-name = "vreg_s1c_1p86";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2024000>;
+		};
+
+		vreg_s10c_1p05: smps10 {
+			regulator-name = "vreg_s10c_1p05";
+			regulator-min-microvolt = <1000000>;
+			regulator-max-microvolt = <1100000>;
+		};
+
+		vreg_bob: bob {
+			regulator-name = "vreg_bob";
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+		};
+
+		vreg_l1c_1p8: ldo1 {
+			regulator-name = "vreg_l1c_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3c_3p0: ldo3 {
+			regulator-name = "vreg_l3c_3p0";
+			regulator-min-microvolt = <3296000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4c_1p8: ldo4 {
+			regulator-name = "vreg_l4c_1p8";
+			regulator-min-microvolt = <1704000>;
+			regulator-max-microvolt = <3000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5c_1p8: ldo5 {
+			regulator-name = "vreg_l5c_1p8";
+			regulator-min-microvolt = <1704000>;
+			regulator-max-microvolt = <3000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6c_1p8: ldo6 {
+			regulator-name = "vreg_l6c_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <3008000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7c_3p0: ldo7 {
+			regulator-name = "vreg_l7c_3p0";
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3008000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8c_1p8: ldo8 {
+			regulator-name = "vreg_l8c_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9c_2p96: ldo9 {
+			regulator-name = "vreg_l9c_2p96";
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <3008000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12c_1p8: ldo12 {
+			regulator-name = "vreg_l12c_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1968000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13c_3p0: ldo13 {
+			regulator-name = "vreg_l13c_3p0";
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	pm8450-rpmh-regulators {
+		compatible = "qcom,pm8450-rpmh-regulators";
+		qcom,pmic-id = "h";
+
+		vdd-s1-supply = <&vph_pwr>;
+		vdd-s2-supply = <&vph_pwr>;
+		vdd-s3-supply = <&vph_pwr>;
+		vdd-s4-supply = <&vph_pwr>;
+		vdd-s5-supply = <&vph_pwr>;
+		vdd-s6-supply = <&vph_pwr>;
+
+		vdd-l2-supply = <&vreg_bob>;
+		vdd-l3-supply = <&vreg_bob>;
+		vdd-l4-supply = <&vreg_bob>;
+
+		vreg_s2h_0p95: smps2 {
+			regulator-name = "vreg_s2h_0p95";
+			regulator-min-microvolt = <848000>;
+			regulator-max-microvolt = <1104000>;
+		};
+
+		vreg_s3h_0p5: smps3 {
+			regulator-name = "vreg_s3h_0p5";
+			regulator-min-microvolt = <500000>;
+			regulator-max-microvolt = <500000>;
+		};
+
+		vreg_l2h_0p91: ldo2 {
+			regulator-name = "vreg_l2h_0p91";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3h_0p91: ldo3 {
+			regulator-name = "vreg_l3h_0p91";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+	};
+
+	pmr735a-rpmh-regulators {
+		compatible = "qcom,pmr735a-rpmh-regulators";
+		qcom,pmic-id = "e";
+
+		vdd-s1-supply = <&vph_pwr>;
+		vdd-s2-supply = <&vph_pwr>;
+		vdd-s3-supply = <&vph_pwr>;
+
+		vdd-l1-l2-supply = <&vreg_s2e_0p85>;
+		vdd-l3-supply = <&vreg_s1e_1p25>;
+		vdd-l4-supply = <&vreg_s1c_1p86>;
+		vdd-l5-l6-supply = <&vreg_s1c_1p86>;
+		vdd-l7-bob-supply = <&vreg_bob>;
+
+		vreg_s1e_1p25: smps1 {
+			regulator-name = "vreg_s1e_1p25";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1296000>;
+		};
+
+		vreg_s2e_0p85: smps2 {
+			regulator-name = "vreg_s2e_0p85";
+			regulator-min-microvolt = <500000>;
+			regulator-max-microvolt = <1040000>;
+		};
+
+		vreg_l1e_0p8: ldo1 {
+			regulator-name = "vreg_l1e_0p8";
+			regulator-min-microvolt = <800000>;
+			regulator-max-microvolt = <800000>;
+		};
+
+		vreg_l2e_0p8: ldo2 {
+			regulator-name = "vreg_l2e_0p8";
+			regulator-min-microvolt = <800000>;
+			regulator-max-microvolt = <800000>;
+		};
+
+		vreg_l3e_1p2: ldo3 {
+			regulator-name = "vreg_l3e_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+		};
+
+		vreg_l4e_1p7: ldo4 {
+			regulator-name = "vreg_l4e_1p7";
+			regulator-min-microvolt = <1776000>;
+			regulator-max-microvolt = <1776000>;
+		};
+
+		vreg_l5e_0p88: ldo5 {
+			regulator-name = "vreg_l5e_0p88";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+		};
+
+		vreg_l6e_1p2: ldo6 {
+			regulator-name = "vreg_l6e_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+		};
+	};
 };
 
 &qupv3_id_0 {
-- 
2.31.1


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

* [PATCH 08/15] arm64: dts: qcom: sm8450: add ufs nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (6 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 07/15] arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:16   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable " Vinod Koul
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  Cc: linux-arm-msm, Bjorn Andersson, Vinod Koul

Add the UFS and QMP PHY node for SM8450 SoC

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 72 ++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 53a6f2275621..75827bbfb3ad 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -816,6 +816,78 @@ rpmhcc: clock-controller {
 				clocks = <&xo_board>;
 			};
 		};
+
+		ufs_mem_hc: ufshc@1d84000 {
+			compatible = "qcom,sm8450-ufshc", "qcom,ufshc",
+				     "jedec,ufs-2.0";
+			reg = <0 0x01d84000 0 0x3000>;
+			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
+			phys = <&ufs_mem_phy_lanes>;
+			phy-names = "ufsphy";
+			lanes-per-direction = <2>;
+			#reset-cells = <1>;
+			resets = <&gcc GCC_UFS_PHY_BCR>;
+			reset-names = "rst";
+
+			power-domains = <&gcc UFS_PHY_GDSC>;
+
+			iommus = <&apps_smmu 0xe0 0x0>;
+
+			clock-names =
+				"core_clk",
+				"bus_aggr_clk",
+				"iface_clk",
+				"core_clk_unipro",
+				"ref_clk",
+				"tx_lane0_sync_clk",
+				"rx_lane0_sync_clk",
+				"rx_lane1_sync_clk";
+			clocks =
+				<&gcc GCC_UFS_PHY_AXI_CLK>,
+				<&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
+				<&gcc GCC_UFS_PHY_AHB_CLK>,
+				<&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
+				<&rpmhcc RPMH_CXO_CLK>,
+				<&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
+				<&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
+				<&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
+			freq-table-hz =
+				<75000000 300000000>,
+				<0 0>,
+				<0 0>,
+				<75000000 300000000>,
+				<75000000 300000000>,
+				<0 0>,
+				<0 0>,
+				<0 0>;
+			status = "disabled";
+		};
+
+		ufs_mem_phy: phy@1d87000 {
+			compatible = "qcom,sm8450-qmp-ufs-phy";
+			reg = <0 0x01d87000 0 0xe10>;
+			#address-cells = <2>;
+			#size-cells = <2>;
+			ranges;
+			clock-names = "ref", "ref_aux", "qref";
+			clocks = <&rpmhcc RPMH_CXO_CLK>,
+				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
+				 <&gcc GCC_UFS_0_CLKREF_EN>;
+
+			resets = <&ufs_mem_hc 0>;
+			reset-names = "ufsphy";
+			status = "disabled";
+
+			ufs_mem_phy_lanes: lanes@1d87400 {
+				reg = <0 0x01d87400 0 0x108>,
+				      <0 0x01d87600 0 0x1e0>,
+				      <0 0x01d87c00 0 0x1dc>,
+				      <0 0x01d87800 0 0x108>,
+				      <0 0x01d87a00 0 0x1e0>;
+				#phy-cells = <0>;
+				#clock-cells = <0>;
+			};
+		};
 	};
 
 	timer {
-- 
2.31.1


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

* [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable ufs nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (7 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 08/15] arm64: dts: qcom: sm8450: add ufs nodes Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:18   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes Vinod Koul
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Enable the UFS and phy node and add the regulators used by them.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
index 218eb3ce1ee5..3e65d662ab8c 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
@@ -5,6 +5,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sm8450.dtsi"
 
@@ -353,3 +354,23 @@ &tlmm {
 &uart7 {
 	status = "okay";
 };
+
+&ufs_mem_hc {
+	status = "okay";
+
+	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
+
+	vcc-supply = <&vreg_l7b_2p5>;
+	vcc-max-microamp = <1100000>;
+	vccq-supply = <&vreg_l9b_1p2>;
+	vccq-max-microamp = <1200000>;
+};
+
+&ufs_mem_phy {
+	status = "okay";
+
+	vdda-phy-supply = <&vreg_l5b_0p88>;
+	vdda-pll-supply = <&vreg_l6b_1p2>;
+	vdda-max-microamp = <173000>;
+	vdda-pll-max-microamp = <24900>;
+};
-- 
2.31.1


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

* [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (8 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable " Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:20   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 11/15] arm64: dts: qcom: sm8450: add spmi node Vinod Koul
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

And the various interconnect nodes found in SM8450 SoC and use it for
UFS controller.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 80 ++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 75827bbfb3ad..4c7cdcea33fa 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -6,6 +6,7 @@
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-sm8450.h>
 #include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/interconnect/qcom,sm8450.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
 
 / {
@@ -573,6 +574,61 @@ uart7: serial@99c000 {
 			};
 		};
 
+		config_noc: interconnect@1500000 {
+			compatible = "qcom,sm8450-config-noc";
+			reg = <0 0x01500000 0 0x1c000>;
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
+		mc_virt: interconnect@1580000 {
+			compatible = "qcom,sm8450-mc-virt";
+			reg = <0 0x01580000 0 0x1000>;
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
+		system_noc: interconnect@1680000 {
+			reg = <0 0x01680000 0 0x1e200>;
+			compatible = "qcom,sm8450-system-noc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
+		pcie_noc: interconnect@16c0000 {
+			reg = <0 0x016c0000 0 0xe280>;
+			compatible = "qcom,sm8450-pcie-anoc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
+		aggre1_noc: interconnect@16e0000 {
+			reg = <0 0x016e0000 0 0x1c080>;
+			compatible = "qcom,sm8450-aggre1-noc";
+			#interconnect-cells = <1>;
+			clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
+				 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
+		aggre2_noc: interconnect@1700000 {
+			reg = <0 0x01700000 0 0x31080>;
+			compatible = "qcom,sm8450-aggre2-noc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+			clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
+				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
+				 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
+				 <&rpmhcc RPMH_IPA_CLK>;
+		};
+
+		mmss_noc: interconnect@1740000 {
+			reg = <0 0x01740000 0 0x1f080>;
+			compatible = "qcom,sm8450-mmss-noc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
 		tcsr_mutex: hwlock@1f40000 {
 			compatible = "qcom,tcsr-mutex";
 			reg = <0x0 0x01f40000 0x0 0x40000>;
@@ -817,6 +873,13 @@ rpmhcc: clock-controller {
 			};
 		};
 
+		gem_noc: interconnect@19100000 {
+			reg = <0 0x19100000 0 0xbb800>;
+			compatible = "qcom,sm8450-gem-noc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
 		ufs_mem_hc: ufshc@1d84000 {
 			compatible = "qcom,sm8450-ufshc", "qcom,ufshc",
 				     "jedec,ufs-2.0";
@@ -833,6 +896,9 @@ ufs_mem_hc: ufshc@1d84000 {
 
 			iommus = <&apps_smmu 0xe0 0x0>;
 
+			interconnects = <&aggre1_noc MASTER_UFS_MEM &mc_virt SLAVE_EBI1>,
+					<&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_UFS_MEM_CFG>;
+			interconnect-names = "ufs-ddr", "cpu-ufs";
 			clock-names =
 				"core_clk",
 				"bus_aggr_clk",
@@ -888,6 +954,20 @@ ufs_mem_phy_lanes: lanes@1d87400 {
 				#clock-cells = <0>;
 			};
 		};
+
+		nsp_noc: interconnect@320c0000 {
+			reg = <0 0x320c0000 0 0x10000>;
+			compatible = "qcom,sm8450-nsp-noc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
+
+		lpass_ag_noc: interconnect@3c40000 {
+			reg = <0 0x3c40000 0 0x17200>;
+			compatible = "qcom,sm8450-lpass-ag-noc";
+			#interconnect-cells = <1>;
+			qcom,bcm-voters = <&apps_bcm_voter>;
+		};
 	};
 
 	timer {
-- 
2.31.1


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

* [PATCH 11/15] arm64: dts: qcom: sm8450: add spmi node
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (9 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:22   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files Vinod Koul
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

Add the spmi bus as found in the SM8450 SoC

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 4c7cdcea33fa..25d93a51ac19 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -645,6 +645,24 @@ pdc: interrupt-controller@b220000 {
 			interrupt-controller;
 		};
 
+		spmi_bus: spmi@c42d000 {
+			compatible = "qcom,spmi-pmic-arb";
+			reg = <0x0 0x0c400000 0x0 0x00003000>,
+			      <0x0 0x0c500000 0x0 0x00400000>,
+			      <0x0 0x0c440000 0x0 0x00080000>,
+			      <0x0 0x0c4c0000 0x0 0x00010000>,
+			      <0x0 0x0c42d000 0x0 0x00010000>;
+			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
+			interrupt-names = "periph_irq";
+			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
+			qcom,ee = <0>;
+			qcom,channel = <0>;
+			#address-cells = <2>;
+			#size-cells = <0>;
+			interrupt-controller;
+			#interrupt-cells = <4>;
+		};
+
 		tlmm: pinctrl@f100000 {
 			compatible = "qcom,sm8450-tlmm";
 			reg = <0 0x0f100000 0 0x300000>;
-- 
2.31.1


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

* [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (10 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 11/15] arm64: dts: qcom: sm8450: add spmi node Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:23   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 13/15] arm64: dts: qcom: sm8450: Add rpmhpd node Vinod Koul
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Vinod Koul, Andy Gross, Rob Herring, devicetree,
	linux-kernel

SM8450 QRD platform has bunch of PMICs, include the common ones PM8350,
PM8350b and PMR735b

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
index 3e65d662ab8c..48228888f500 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
@@ -8,6 +8,9 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sm8450.dtsi"
+#include "pm8350.dtsi"
+#include "pm8350b.dtsi"
+#include "pmr735b.dtsi"
 
 / {
 	model = "Qualcomm Technologies, Inc. SM8450 QRD";
-- 
2.31.1


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

* [PATCH 13/15] arm64: dts: qcom: sm8450: Add rpmhpd node
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (11 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:24   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support Vinod Koul
  2021-12-01  7:29 ` [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes Vinod Koul
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Dmitry Baryshkov, Andy Gross, Rob Herring,
	devicetree, linux-kernel, Vinod Koul

From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

This adds RPMH power domain found in SM8450 SoC

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 52 ++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 25d93a51ac19..8f0819df8039 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -7,6 +7,7 @@
 #include <dt-bindings/clock/qcom,gcc-sm8450.h>
 #include <dt-bindings/clock/qcom,rpmh.h>
 #include <dt-bindings/interconnect/qcom,sm8450.h>
+#include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
 
 / {
@@ -889,6 +890,57 @@ rpmhcc: clock-controller {
 				clock-names = "xo";
 				clocks = <&xo_board>;
 			};
+
+			rpmhpd: power-controller {
+				compatible = "qcom,sm8450-rpmhpd";
+				#power-domain-cells = <1>;
+				operating-points-v2 = <&rpmhpd_opp_table>;
+
+				rpmhpd_opp_table: opp-table {
+					compatible = "operating-points-v2";
+
+					rpmhpd_opp_ret: opp1 {
+						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
+					};
+
+					rpmhpd_opp_min_svs: opp2 {
+						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
+					};
+
+					rpmhpd_opp_low_svs: opp3 {
+						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+					};
+
+					rpmhpd_opp_svs: opp4 {
+						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+					};
+
+					rpmhpd_opp_svs_l1: opp5 {
+						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+					};
+
+					rpmhpd_opp_nom: opp6 {
+						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+					};
+
+					rpmhpd_opp_nom_l1: opp7 {
+						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+					};
+
+					rpmhpd_opp_nom_l2: opp8 {
+						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
+					};
+
+					rpmhpd_opp_turbo: opp9 {
+						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
+					};
+
+					rpmhpd_opp_turbo_l1: opp10 {
+						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+					};
+				};
+			};
+
 		};
 
 		gem_noc: interconnect@19100000 {
-- 
2.31.1


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

* [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (12 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 13/15] arm64: dts: qcom: sm8450: Add rpmhpd node Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:28   ` Konrad Dybcio
  2021-12-01  7:29 ` [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes Vinod Koul
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  Cc: linux-arm-msm, Bjorn Andersson, Vladimir Zapolskiy, Vinod Koul

From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>

The change adds a description of a SM8450 cpufreq-epss controller and
references to it from CPU nodes.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 8f0819df8039..29c5abcfa074 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -45,6 +45,7 @@ CPU0: cpu@0 {
 			next-level-cache = <&L2_0>;
 			power-domains = <&CPU_PD0>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 0>;
 			L2_0: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -62,6 +63,7 @@ CPU1: cpu@100 {
 			next-level-cache = <&L2_100>;
 			power-domains = <&CPU_PD1>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 0>;
 			L2_100: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -76,6 +78,7 @@ CPU2: cpu@200 {
 			next-level-cache = <&L2_200>;
 			power-domains = <&CPU_PD2>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 0>;
 			L2_200: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -90,6 +93,7 @@ CPU3: cpu@300 {
 			next-level-cache = <&L2_300>;
 			power-domains = <&CPU_PD3>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 0>;
 			L2_300: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -104,6 +108,7 @@ CPU4: cpu@400 {
 			next-level-cache = <&L2_400>;
 			power-domains = <&CPU_PD4>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 1>;
 			L2_400: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -118,6 +123,7 @@ CPU5: cpu@500 {
 			next-level-cache = <&L2_500>;
 			power-domains = <&CPU_PD5>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 1>;
 			L2_500: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -133,6 +139,7 @@ CPU6: cpu@600 {
 			next-level-cache = <&L2_600>;
 			power-domains = <&CPU_PD6>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 1>;
 			L2_600: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -147,6 +154,7 @@ CPU7: cpu@700 {
 			next-level-cache = <&L2_700>;
 			power-domains = <&CPU_PD7>;
 			power-domain-names = "psci";
+			qcom,freq-domain = <&cpufreq_hw 2>;
 			L2_700: l2-cache {
 			      compatible = "cache";
 			      next-level-cache = <&L3_0>;
@@ -170,7 +178,9 @@ core2 {
 				core3 {
 					cpu = <&CPU3>;
 				};
+			};
 
+			cluster1 {
 				core4 {
 					cpu = <&CPU4>;
 				};
@@ -182,7 +192,9 @@ core5 {
 				core6 {
 					cpu = <&CPU6>;
 				};
+			};
 
+			cluster2 {
 				core7 {
 					cpu = <&CPU7>;
 				};
@@ -943,6 +955,21 @@ rpmhpd_opp_turbo_l1: opp10 {
 
 		};
 
+		cpufreq_hw: cpufreq@17d91000 {
+			compatible = "qcom,sm8450-cpufreq-epss", "qcom,cpufreq-epss";
+			reg = <0 0x17d91000 0 0x1000>,
+			      <0 0x17d92000 0 0x1000>,
+			      <0 0x17d93000 0 0x1000>;
+			reg-names = "freq-domain0", "freq-domain1", "freq-domain2";
+			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
+			clock-names = "xo", "alternate";
+			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1", "dcvsh-irq-2";
+			#freq-domain-cells = <1>;
+		};
+
 		gem_noc: interconnect@19100000 {
 			reg = <0 0x19100000 0 0xbb800>;
 			compatible = "qcom,sm8450-gem-noc";
-- 
2.31.1


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

* [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes
  2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
                   ` (13 preceding siblings ...)
  2021-12-01  7:29 ` [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support Vinod Koul
@ 2021-12-01  7:29 ` Vinod Koul
  2021-12-01 15:30   ` Konrad Dybcio
  14 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-01  7:29 UTC (permalink / raw)
  Cc: linux-arm-msm, Bjorn Andersson, Dmitry Baryshkov, Vinod Koul

From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Add device tree nodes for two i2c blocks: i2c13 and i2c14.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 arch/arm64/boot/dts/qcom/sm8450.dtsi | 64 ++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 29c5abcfa074..40c739b842ac 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -587,6 +587,44 @@ uart7: serial@99c000 {
 			};
 		};
 
+		qupv3_id_1: geniqup@ac0000 {
+			compatible = "qcom,geni-se-qup";
+			reg = <0x0 0x00ac0000 0x0 0x6000>;
+			clock-names = "m-ahb", "s-ahb";
+			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
+				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
+			#address-cells = <2>;
+			#size-cells = <2>;
+			ranges;
+			status = "disabled";
+
+			i2c13: i2c@a94000 {
+				compatible = "qcom,geni-i2c";
+				reg = <0 0x00a94000 0 0x4000>;
+				clock-names = "se";
+				clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&qup_i2c13_default_state>;
+				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+
+			i2c14: i2c@a98000 {
+				compatible = "qcom,geni-i2c";
+				reg = <0 0x00a98000 0 0x4000>;
+				clock-names = "se";
+				clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&qup_i2c14_default_state>;
+				interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+				status = "disabled";
+			};
+		};
+
 		config_noc: interconnect@1500000 {
 			compatible = "qcom,sm8450-config-noc";
 			reg = <0 0x01500000 0 0x1c000>;
@@ -687,6 +725,32 @@ tlmm: pinctrl@f100000 {
 			gpio-ranges = <&tlmm 0 0 211>;
 			wakeup-parent = <&pdc>;
 
+			qup_i2c13_default_state: qup-i2c13-default-state {
+				mux {
+					pins = "gpio48", "gpio49";
+					function = "qup13";
+				};
+
+				config {
+					pins = "gpio48", "gpio49";
+					drive-strength = <2>;
+					bias-pull-up;
+				};
+			};
+
+			qup_i2c14_default_state: qup-i2c14-default-state {
+				mux {
+					pins = "gpio52", "gpio53";
+					function = "qup14";
+				};
+
+				config {
+					pins = "gpio49", "gpio50";
+					drive-strength = <2>;
+					bias-pull-up;
+				};
+			};
+
 			qup_uart7_default_state: qup-uart3-default-state {
 				rx {
 					pins = "gpio26";
-- 
2.31.1


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

* Re: [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI
  2021-12-01  7:29 ` [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI Vinod Koul
@ 2021-12-01 15:03   ` Konrad Dybcio
  2021-12-06  5:39     ` Vinod Koul
  2021-12-07 14:53   ` Bjorn Andersson
  1 sibling, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:03 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> This add based DTSI for SM8450 SoC and includes base description of
> CPUs, GCC, RPMHCC, UART, interuupt-controller which helps to boot to
> shell with console on boards with this SoC
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 476 +++++++++++++++++++++++++++
>  1 file changed, 476 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sm8450.dtsi
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> new file mode 100644
> index 000000000000..d838283bde4b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -0,0 +1,476 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2021, Linaro Limited
> + */
> +
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/clock/qcom,gcc-sm8450.h>
> +#include <dt-bindings/clock/qcom,rpmh.h>
> +#include <dt-bindings/soc/qcom,rpmh-rsc.h>
> +
> +/ {
> +	interrupt-parent = <&intc>;
> +
> +	#address-cells = <2>;
> +	#size-cells = <2>;
> +
> +	chosen { };
> +
> +	clocks {
> +		xo_board: xo-board {
> +			compatible = "fixed-clock";
> +			#clock-cells = <0>;
> +			clock-frequency = <76800000>;
> +			clock-output-names = "xo_board";
> +		};
> +
> +		sleep_clk: sleep-clk {
> +			compatible = "fixed-clock";
> +			clock-frequency = <32000>;
> +			#clock-cells = <0>;
> +		};

No clock-output-names for this one?


Other than that:

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


Konrad


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

* Re: [PATCH 02/15] arm64: dts: qcom: Add base SM8450 QRD DTS
  2021-12-01  7:29 ` [PATCH 02/15] arm64: dts: qcom: Add base SM8450 QRD DTS Vinod Koul
@ 2021-12-01 15:05   ` Konrad Dybcio
  0 siblings, 0 replies; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:05 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Add DTS for Qualcomm QRD platform which uses SM8450 SoC
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/Makefile       |  1 +
>  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 29 +++++++++++++++++++++++++
>  2 files changed, 30 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sm8450-qrd.dts
>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>


Konrad


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

* Re: [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD
  2021-12-01  7:29 ` [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD Vinod Koul
@ 2021-12-01 15:07   ` Konrad Dybcio
  2021-12-06  5:53     ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:07 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Some tlmm gpios are reserved, so mark them as such in QRD DTS
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> index 127d32502555..8dcd41c4e5ab 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> @@ -24,6 +24,10 @@ &qupv3_id_0 {
>  	status = "okay";
>  };
>  
> +&tlmm {
> +	gpio-reserved-ranges = <28 4>, <36 4>;
> +};
> +
>  &uart7 {
>  	status = "okay";
>  };
>
Personally I'd squash this into the patch that introduced the DT and

move it to the end of the series, but I reckon it's fine either way..


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


Konrad


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

* Re: [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes
  2021-12-01  7:29 ` [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes Vinod Koul
@ 2021-12-01 15:11   ` Konrad Dybcio
  2021-12-06  5:42     ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:11 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Add the reserved memory nodes for SM8450. This is based on the downstream
> documentation.
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 221 +++++++++++++++++++++++++++
>  1 file changed, 221 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> index f0b9e80238a2..79aead4cba66 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -310,6 +310,227 @@ CLUSTER_PD: cpu-cluster0 {
>  		};
>  	};
>  
> +	reserved_memory: reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		hyp_mem: memory@80000000 {
> +			no-map;
> +			reg = <0x0 0x80000000 0x0 0x600000>;
> +		};

All nodes in this patch put no-map before reg, which is precisely not the way

it's done in all other qcom DTs...

[...]


> +
> +		/* uefi region can be reused by apps */

What apps? Facebook? TikTok? Capitalization makes a difference in this

specific case..

> +
> +		/* Linux kernel image is loaded at 0xa0000000 */
> +
> +		oem_vm_mem: memory@bb000000 {
> +			no-map;
> +			reg = <0x0 0xbb000000 0x0 0x5000000>;
> +		};
> +

[...]


Konrad


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

* Re: [PATCH 06/15] arm64: dts: qcom: sm8450: add smmu nodes
  2021-12-01  7:29 ` [PATCH 06/15] arm64: dts: qcom: sm8450: add smmu nodes Vinod Koul
@ 2021-12-01 15:13   ` Konrad Dybcio
  0 siblings, 0 replies; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:13 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Add the apps smmu node as found in the SM8450 SoC
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 103 +++++++++++++++++++++++++++
>  1 file changed, 103 insertions(+)
>
Acked-by: Konrad Dybcio <konrad.dybcio@somainline.org>


Konrad


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

* Re: [PATCH 07/15] arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes
  2021-12-01  7:29 ` [PATCH 07/15] arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes Vinod Koul
@ 2021-12-01 15:14   ` Konrad Dybcio
  0 siblings, 0 replies; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:14 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Add the RPMH regulators found in QRD-SM8450 platform
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 322 ++++++++++++++++++++++++
>  1 file changed, 322 insertions(+)
>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>


Konrad


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

* Re: [PATCH 08/15] arm64: dts: qcom: sm8450: add ufs nodes
  2021-12-01  7:29 ` [PATCH 08/15] arm64: dts: qcom: sm8450: add ufs nodes Vinod Koul
@ 2021-12-01 15:16   ` Konrad Dybcio
  0 siblings, 0 replies; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:16 UTC (permalink / raw)
  To: Vinod Koul; +Cc: linux-arm-msm, Bjorn Andersson


On 01.12.2021 08:29, Vinod Koul wrote:
> Add the UFS and QMP PHY node for SM8450 SoC
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 72 ++++++++++++++++++++++++++++
>  1 file changed, 72 insertions(+)
>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>


Konrad


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

* Re: [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable ufs nodes
  2021-12-01  7:29 ` [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable " Vinod Koul
@ 2021-12-01 15:18   ` Konrad Dybcio
  2021-12-06  5:58     ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:18 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Enable the UFS and phy node and add the regulators used by them.
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> index 218eb3ce1ee5..3e65d662ab8c 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> @@ -5,6 +5,7 @@
>  
>  /dts-v1/;
>  
> +#include <dt-bindings/gpio/gpio.h>

This should probably go to the SoC DTSI, as it's generally used

in every DT if you have anything more than serial console working..


Konrad


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

* Re: [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes
  2021-12-01  7:29 ` [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes Vinod Koul
@ 2021-12-01 15:20   ` Konrad Dybcio
  2021-12-06  6:12     ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:20 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> And the various interconnect nodes found in SM8450 SoC and use it for
> UFS controller.
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 80 ++++++++++++++++++++++++++++
>  1 file changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> index 75827bbfb3ad..4c7cdcea33fa 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -6,6 +6,7 @@
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/clock/qcom,gcc-sm8450.h>
>  #include <dt-bindings/clock/qcom,rpmh.h>
> +#include <dt-bindings/interconnect/qcom,sm8450.h>
>  #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>  
>  / {
> @@ -573,6 +574,61 @@ uart7: serial@99c000 {
>  			};
>  		};
>  
> +		config_noc: interconnect@1500000 {
> +			compatible = "qcom,sm8450-config-noc";
> +			reg = <0 0x01500000 0 0x1c000>;
> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
> +		mc_virt: interconnect@1580000 {
> +			compatible = "qcom,sm8450-mc-virt";
> +			reg = <0 0x01580000 0 0x1000>;
> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
> +		system_noc: interconnect@1680000 {
> +			reg = <0 0x01680000 0 0x1e200>;
> +			compatible = "qcom,sm8450-system-noc";

Compatible first, please


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
> +		pcie_noc: interconnect@16c0000 {
> +			reg = <0 0x016c0000 0 0xe280>;
> +			compatible = "qcom,sm8450-pcie-anoc";

Ditto


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
> +		aggre1_noc: interconnect@16e0000 {
> +			reg = <0 0x016e0000 0 0x1c080>;
> +			compatible = "qcom,sm8450-aggre1-noc";

Ditto


> +			#interconnect-cells = <1>;
> +			clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
> +				 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
> +		aggre2_noc: interconnect@1700000 {
> +			reg = <0 0x01700000 0 0x31080>;
> +			compatible = "qcom,sm8450-aggre2-noc";

Ditto


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +			clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
> +				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
> +				 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
> +				 <&rpmhcc RPMH_IPA_CLK>;
> +		};
> +
> +		mmss_noc: interconnect@1740000 {
> +			reg = <0 0x01740000 0 0x1f080>;
> +			compatible = "qcom,sm8450-mmss-noc";

Ditto


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
>  		tcsr_mutex: hwlock@1f40000 {
>  			compatible = "qcom,tcsr-mutex";
>  			reg = <0x0 0x01f40000 0x0 0x40000>;
> @@ -817,6 +873,13 @@ rpmhcc: clock-controller {
>  			};
>  		};
>  
> +		gem_noc: interconnect@19100000 {
> +			reg = <0 0x19100000 0 0xbb800>;
> +			compatible = "qcom,sm8450-gem-noc";

Ditto


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
>  		ufs_mem_hc: ufshc@1d84000 {
>  			compatible = "qcom,sm8450-ufshc", "qcom,ufshc",
>  				     "jedec,ufs-2.0";
> @@ -833,6 +896,9 @@ ufs_mem_hc: ufshc@1d84000 {
>  
>  			iommus = <&apps_smmu 0xe0 0x0>;
>  
> +			interconnects = <&aggre1_noc MASTER_UFS_MEM &mc_virt SLAVE_EBI1>,
> +					<&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_UFS_MEM_CFG>;
> +			interconnect-names = "ufs-ddr", "cpu-ufs";
>  			clock-names =
>  				"core_clk",
>  				"bus_aggr_clk",
> @@ -888,6 +954,20 @@ ufs_mem_phy_lanes: lanes@1d87400 {
>  				#clock-cells = <0>;
>  			};
>  		};
> +
> +		nsp_noc: interconnect@320c0000 {
> +			reg = <0 0x320c0000 0 0x10000>;
> +			compatible = "qcom,sm8450-nsp-noc";

Ditto


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
> +
> +		lpass_ag_noc: interconnect@3c40000 {
> +			reg = <0 0x3c40000 0 0x17200>;
> +			compatible = "qcom,sm8450-lpass-ag-noc";

Ditto


> +			#interconnect-cells = <1>;
> +			qcom,bcm-voters = <&apps_bcm_voter>;
> +		};
>  	};
>  
>  	timer {
>

Konrad


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

* Re: [PATCH 11/15] arm64: dts: qcom: sm8450: add spmi node
  2021-12-01  7:29 ` [PATCH 11/15] arm64: dts: qcom: sm8450: add spmi node Vinod Koul
@ 2021-12-01 15:22   ` Konrad Dybcio
  0 siblings, 0 replies; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:22 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> Add the spmi bus as found in the SM8450 SoC
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>


Konrad


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

* Re: [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files
  2021-12-01  7:29 ` [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files Vinod Koul
@ 2021-12-01 15:23   ` Konrad Dybcio
  2021-12-07 15:05     ` Bjorn Andersson
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:23 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> SM8450 QRD platform has bunch of PMICs, include the common ones PM8350,
> PM8350b and PMR735b
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> index 3e65d662ab8c..48228888f500 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> @@ -8,6 +8,9 @@
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>  #include "sm8450.dtsi"
> +#include "pm8350.dtsi"
> +#include "pm8350b.dtsi"
> +#include "pmr735b.dtsi"
>  
>  / {
>  	model = "Qualcomm Technologies, Inc. SM8450 QRD";
>
Again, this could have gone into a single "add board DTS" patch, but this

works too, I guess..


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


Konrad


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

* Re: [PATCH 13/15] arm64: dts: qcom: sm8450: Add rpmhpd node
  2021-12-01  7:29 ` [PATCH 13/15] arm64: dts: qcom: sm8450: Add rpmhpd node Vinod Koul
@ 2021-12-01 15:24   ` Konrad Dybcio
  0 siblings, 0 replies; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:24 UTC (permalink / raw)
  To: Vinod Koul, Bjorn Andersson
  Cc: linux-arm-msm, Dmitry Baryshkov, Andy Gross, Rob Herring,
	devicetree, linux-kernel


On 01.12.2021 08:29, Vinod Koul wrote:
> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>
> This adds RPMH power domain found in SM8450 SoC
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 52 ++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)

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


Konrad


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

* Re: [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support
  2021-12-01  7:29 ` [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support Vinod Koul
@ 2021-12-01 15:28   ` Konrad Dybcio
  2021-12-09  7:11     ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:28 UTC (permalink / raw)
  To: Vinod Koul; +Cc: linux-arm-msm, Bjorn Andersson, Vladimir Zapolskiy


On 01.12.2021 08:29, Vinod Koul wrote:
> From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
>
> The change adds a description of a SM8450 cpufreq-epss controller and
> references to it from CPU nodes.
>
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
[...]


>  
> +			cluster1 {
>  				core4 {
>  					cpu = <&CPU4>;
>  				};
> @@ -182,7 +192,9 @@ core5 {
>  				core6 {
>  					cpu = <&CPU6>;
>  				};
> +			};
>  
> +			cluster2 {
>  				core7 {
>  					cpu = <&CPU7>;
>  				};

Weren't DynamIQ-enabled SoCs supposed to be treated as single-cluster

from the Linux POV? Or has it changed again with the new chips?


[...]


Konrad



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

* Re: [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes
  2021-12-01  7:29 ` [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes Vinod Koul
@ 2021-12-01 15:30   ` Konrad Dybcio
  2021-12-09  7:13     ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Konrad Dybcio @ 2021-12-01 15:30 UTC (permalink / raw)
  To: Vinod Koul; +Cc: linux-arm-msm, Bjorn Andersson, Dmitry Baryshkov


On 01.12.2021 08:29, Vinod Koul wrote:
> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>
> Add device tree nodes for two i2c blocks: i2c13 and i2c14.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 64 ++++++++++++++++++++++++++++
>  1 file changed, 64 insertions(+)
>
[...]


>  		config_noc: interconnect@1500000 {
>  			compatible = "qcom,sm8450-config-noc";
>  			reg = <0 0x01500000 0 0x1c000>;
> @@ -687,6 +725,32 @@ tlmm: pinctrl@f100000 {
>  			gpio-ranges = <&tlmm 0 0 211>;
>  			wakeup-parent = <&pdc>;
>  
> +			qup_i2c13_default_state: qup-i2c13-default-state {
> +				mux {
> +					pins = "gpio48", "gpio49";
> +					function = "qup13";
> +				};
> +
> +				config {
> +					pins = "gpio48", "gpio49";
> +					drive-strength = <2>;
> +					bias-pull-up;
> +				};
> +			};
> +

This should be collapsed into:


qup_i2c13_default_state: qup-i2c13-default-state {

        pins = "..."

        function = "..."

        drive-strength = <2>

        bias-pull-up;

};


And the same goes for the rest of the pins.


[...]


Konrad


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

* Re: [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI
  2021-12-01 15:03   ` Konrad Dybcio
@ 2021-12-06  5:39     ` Vinod Koul
  2021-12-07 14:35       ` Bjorn Andersson
  0 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-06  5:39 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On 01-12-21, 16:03, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > This add based DTSI for SM8450 SoC and includes base description of
> > CPUs, GCC, RPMHCC, UART, interuupt-controller which helps to boot to
> > shell with console on boards with this SoC
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450.dtsi | 476 +++++++++++++++++++++++++++
> >  1 file changed, 476 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/qcom/sm8450.dtsi
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > new file mode 100644
> > index 000000000000..d838283bde4b
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > @@ -0,0 +1,476 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) 2021, Linaro Limited
> > + */
> > +
> > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > +#include <dt-bindings/clock/qcom,gcc-sm8450.h>
> > +#include <dt-bindings/clock/qcom,rpmh.h>
> > +#include <dt-bindings/soc/qcom,rpmh-rsc.h>
> > +
> > +/ {
> > +	interrupt-parent = <&intc>;
> > +
> > +	#address-cells = <2>;
> > +	#size-cells = <2>;
> > +
> > +	chosen { };
> > +
> > +	clocks {
> > +		xo_board: xo-board {
> > +			compatible = "fixed-clock";
> > +			#clock-cells = <0>;
> > +			clock-frequency = <76800000>;
> > +			clock-output-names = "xo_board";
> > +		};
> > +
> > +		sleep_clk: sleep-clk {
> > +			compatible = "fixed-clock";
> > +			clock-frequency = <32000>;
> > +			#clock-cells = <0>;
> > +		};
> 
> No clock-output-names for this one?

This should have one, will fix and update in v2
> 
> 
> Other than that:
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>

Thanks for the review!

-- 
~Vinod

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

* Re: [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes
  2021-12-01 15:11   ` Konrad Dybcio
@ 2021-12-06  5:42     ` Vinod Koul
  0 siblings, 0 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-06  5:42 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On 01-12-21, 16:11, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > Add the reserved memory nodes for SM8450. This is based on the downstream
> > documentation.
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450.dtsi | 221 +++++++++++++++++++++++++++
> >  1 file changed, 221 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > index f0b9e80238a2..79aead4cba66 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > @@ -310,6 +310,227 @@ CLUSTER_PD: cpu-cluster0 {
> >  		};
> >  	};
> >  
> > +	reserved_memory: reserved-memory {
> > +		#address-cells = <2>;
> > +		#size-cells = <2>;
> > +		ranges;
> > +
> > +		hyp_mem: memory@80000000 {
> > +			no-map;
> > +			reg = <0x0 0x80000000 0x0 0x600000>;
> > +		};
> 
> All nodes in this patch put no-map before reg, which is precisely not the way
> 
> it's done in all other qcom DTs...

True, will update it to be consistent across

> 
> [...]
> 
> 
> > +
> > +		/* uefi region can be reused by apps */
> 
> What apps? Facebook? TikTok? Capitalization makes a difference in this
> 
> specific case..

Am sure facebook might like you comment, but lets fix that up to not
give them such opinion :)

-- 
~Vinod

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

* Re: [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD
  2021-12-01 15:07   ` Konrad Dybcio
@ 2021-12-06  5:53     ` Vinod Koul
  2021-12-07 14:56       ` Bjorn Andersson
  0 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-06  5:53 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On 01-12-21, 16:07, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > Some tlmm gpios are reserved, so mark them as such in QRD DTS
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > index 127d32502555..8dcd41c4e5ab 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > @@ -24,6 +24,10 @@ &qupv3_id_0 {
> >  	status = "okay";
> >  };
> >  
> > +&tlmm {
> > +	gpio-reserved-ranges = <28 4>, <36 4>;
> > +};
> > +
> >  &uart7 {
> >  	status = "okay";
> >  };
> >
> Personally I'd squash this into the patch that introduced the DT and

I feel it is the right things to do, a patch should not touch a
different file. soc dts and board dts and two different entities and
should be patched separately!

> move it to the end of the series, but I reckon it's fine either way..
> 
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>

Thanks for the detailed review.

-- 
~Vinod

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

* Re: [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable ufs nodes
  2021-12-01 15:18   ` Konrad Dybcio
@ 2021-12-06  5:58     ` Vinod Koul
  2021-12-07 15:01       ` Bjorn Andersson
  0 siblings, 1 reply; 44+ messages in thread
From: Vinod Koul @ 2021-12-06  5:58 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On 01-12-21, 16:18, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > Enable the UFS and phy node and add the regulators used by them.
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > index 218eb3ce1ee5..3e65d662ab8c 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > @@ -5,6 +5,7 @@
> >  
> >  /dts-v1/;
> >  
> > +#include <dt-bindings/gpio/gpio.h>
> 
> This should probably go to the SoC DTSI, as it's generally used
> 
> in every DT if you have anything more than serial console working..

But arent the gpios added in board dts typically? I am okay either
way... Bjorn where would you like this to be..?
Seems like we have this is both board as well as SoC DTS
> 
> 
> Konrad

-- 
~Vinod

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

* Re: [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes
  2021-12-01 15:20   ` Konrad Dybcio
@ 2021-12-06  6:12     ` Vinod Koul
  0 siblings, 0 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-06  6:12 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On 01-12-21, 16:20, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > And the various interconnect nodes found in SM8450 SoC and use it for
> > UFS controller.
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450.dtsi | 80 ++++++++++++++++++++++++++++
> >  1 file changed, 80 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > index 75827bbfb3ad..4c7cdcea33fa 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > @@ -6,6 +6,7 @@
> >  #include <dt-bindings/interrupt-controller/arm-gic.h>
> >  #include <dt-bindings/clock/qcom,gcc-sm8450.h>
> >  #include <dt-bindings/clock/qcom,rpmh.h>
> > +#include <dt-bindings/interconnect/qcom,sm8450.h>
> >  #include <dt-bindings/soc/qcom,rpmh-rsc.h>
> >  
> >  / {
> > @@ -573,6 +574,61 @@ uart7: serial@99c000 {
> >  			};
> >  		};
> >  
> > +		config_noc: interconnect@1500000 {
> > +			compatible = "qcom,sm8450-config-noc";
> > +			reg = <0 0x01500000 0 0x1c000>;
> > +			#interconnect-cells = <1>;
> > +			qcom,bcm-voters = <&apps_bcm_voter>;
> > +		};
> > +
> > +		mc_virt: interconnect@1580000 {
> > +			compatible = "qcom,sm8450-mc-virt";
> > +			reg = <0 0x01580000 0 0x1000>;
> > +			#interconnect-cells = <1>;
> > +			qcom,bcm-voters = <&apps_bcm_voter>;
> > +		};
> > +
> > +		system_noc: interconnect@1680000 {
> > +			reg = <0 0x01680000 0 0x1e200>;
> > +			compatible = "qcom,sm8450-system-noc";
> 
> Compatible first, please

will fix here and everywhere...

-- 
~Vinod

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

* Re: [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI
  2021-12-06  5:39     ` Vinod Koul
@ 2021-12-07 14:35       ` Bjorn Andersson
  0 siblings, 0 replies; 44+ messages in thread
From: Bjorn Andersson @ 2021-12-07 14:35 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Konrad Dybcio, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On Sun 05 Dec 21:39 PST 2021, Vinod Koul wrote:

> On 01-12-21, 16:03, Konrad Dybcio wrote:
> > 
> > On 01.12.2021 08:29, Vinod Koul wrote:
> > > This add based DTSI for SM8450 SoC and includes base description of
> > > CPUs, GCC, RPMHCC, UART, interuupt-controller which helps to boot to
> > > shell with console on boards with this SoC
> > >
> > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/sm8450.dtsi | 476 +++++++++++++++++++++++++++
> > >  1 file changed, 476 insertions(+)
> > >  create mode 100644 arch/arm64/boot/dts/qcom/sm8450.dtsi
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > > new file mode 100644
> > > index 000000000000..d838283bde4b
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> > > @@ -0,0 +1,476 @@
> > > +// SPDX-License-Identifier: BSD-3-Clause
> > > +/*
> > > + * Copyright (c) 2021, Linaro Limited
> > > + */
> > > +
> > > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > > +#include <dt-bindings/clock/qcom,gcc-sm8450.h>
> > > +#include <dt-bindings/clock/qcom,rpmh.h>
> > > +#include <dt-bindings/soc/qcom,rpmh-rsc.h>
> > > +
> > > +/ {
> > > +	interrupt-parent = <&intc>;
> > > +
> > > +	#address-cells = <2>;
> > > +	#size-cells = <2>;
> > > +
> > > +	chosen { };
> > > +
> > > +	clocks {
> > > +		xo_board: xo-board {
> > > +			compatible = "fixed-clock";
> > > +			#clock-cells = <0>;
> > > +			clock-frequency = <76800000>;
> > > +			clock-output-names = "xo_board";
> > > +		};
> > > +
> > > +		sleep_clk: sleep-clk {
> > > +			compatible = "fixed-clock";
> > > +			clock-frequency = <32000>;
> > > +			#clock-cells = <0>;
> > > +		};
> > 
> > No clock-output-names for this one?
> 
> This should have one, will fix and update in v2

No need, the clock's name is not significant for anything beyond
debugging. So if you're going to change something let it be dropping the
clock-output-names from &xo_board.

Thanks,
Bjorn

> > 
> > 
> > Other than that:
> > 
> > Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
> 
> Thanks for the review!
> 
> -- 
> ~Vinod

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

* Re: [PATCH 03/15] arm64: dts: qcom: sm8450: Add tlmm nodes
  2021-12-01  7:29 ` [PATCH 03/15] arm64: dts: qcom: sm8450: Add tlmm nodes Vinod Koul
@ 2021-12-07 14:37   ` Bjorn Andersson
  0 siblings, 0 replies; 44+ messages in thread
From: Bjorn Andersson @ 2021-12-07 14:37 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel

On Tue 30 Nov 23:29 PST 2021, Vinod Koul wrote:

> Add tlmm node found in SM8450 SoC and uart pin configuration
> 
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 29 ++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> index d838283bde4b..f0b9e80238a2 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
> @@ -343,6 +343,8 @@ uart7: serial@99c000 {
>  				reg = <0 0x0099c000 0 0x4000>;
>  				clock-names = "se";
>  				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&qup_uart7_default_state>;
>  				interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> @@ -366,6 +368,33 @@ pdc: interrupt-controller@b220000 {
>  			interrupt-controller;
>  		};
>  
> +		tlmm: pinctrl@f100000 {
> +			compatible = "qcom,sm8450-tlmm";
> +			reg = <0 0x0f100000 0 0x300000>;
> +			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +			gpio-ranges = <&tlmm 0 0 211>;
> +			wakeup-parent = <&pdc>;
> +
> +			qup_uart7_default_state: qup-uart3-default-state {

There's a '3' in the node name.

Loos good otherwise.

Thanks,
Bjorn

> +				rx {
> +					pins = "gpio26";
> +					function = "qup7";
> +					drive-strength = <2>;
> +					bias-disable;
> +				};
> +				tx {
> +					pins = "gpio27";
> +					function = "qup7";
> +					drive-strength = <2>;
> +					bias-disable;
> +				};
> +			};
> +		};
> +
>  		intc: interrupt-controller@17100000 {
>  			compatible = "arm,gic-v3";
>  			#interrupt-cells = <3>;
> -- 
> 2.31.1
> 

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

* Re: [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI
  2021-12-01  7:29 ` [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI Vinod Koul
  2021-12-01 15:03   ` Konrad Dybcio
@ 2021-12-07 14:53   ` Bjorn Andersson
  1 sibling, 0 replies; 44+ messages in thread
From: Bjorn Andersson @ 2021-12-07 14:53 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-arm-msm, Andy Gross, Rob Herring, devicetree, linux-kernel

On Tue 30 Nov 23:29 PST 2021, Vinod Koul wrote:

> This add based DTSI for SM8450 SoC and includes base description of
> CPUs, GCC, RPMHCC, UART, interuupt-controller which helps to boot to
> shell with console on boards with this SoC
> 
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8450.dtsi | 476 +++++++++++++++++++++++++++
>  1 file changed, 476 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sm8450.dtsi
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
[..]
> +		qupv3_id_0: geniqup@9c0000 {
> +			compatible = "qcom,geni-se-qup";
> +			reg = <0x0 0x009c0000 0x0 0x2000>;
> +			clock-names = "m-ahb", "s-ahb";
> +			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
> +				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
> +			#address-cells = <2>;
> +			#size-cells = <2>;
> +			ranges;
> +			status = "disabled";
> +
> +			uart7: serial@99c000 {
> +				compatible = "qcom,geni-debug-uart";

There's nothing special about uart7 on a platform level, so my
suggestion is that you use the standard compatible of "qcom,geni-se-qup"
here and then override the compatible with "qcom,geni-debug-uart" in the
qrd.dts.

Regards,
Bjorn

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

* Re: [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD
  2021-12-06  5:53     ` Vinod Koul
@ 2021-12-07 14:56       ` Bjorn Andersson
  0 siblings, 0 replies; 44+ messages in thread
From: Bjorn Andersson @ 2021-12-07 14:56 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Konrad Dybcio, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On Sun 05 Dec 21:53 PST 2021, Vinod Koul wrote:

> On 01-12-21, 16:07, Konrad Dybcio wrote:
> > 
> > On 01.12.2021 08:29, Vinod Koul wrote:
> > > Some tlmm gpios are reserved, so mark them as such in QRD DTS
> > >
> > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > index 127d32502555..8dcd41c4e5ab 100644
> > > --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > @@ -24,6 +24,10 @@ &qupv3_id_0 {
> > >  	status = "okay";
> > >  };
> > >  
> > > +&tlmm {
> > > +	gpio-reserved-ranges = <28 4>, <36 4>;
> > > +};
> > > +
> > >  &uart7 {
> > >  	status = "okay";
> > >  };
> > >
> > Personally I'd squash this into the patch that introduced the DT and
> 
> I feel it is the right things to do, a patch should not touch a
> different file. soc dts and board dts and two different entities and
> should be patched separately!
> 

You could introduce the qrd.dts slightly later in the series and squash
this in there.

Regards,
Bjorn

> > move it to the end of the series, but I reckon it's fine either way..
> > 
> > 
> > Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
> 
> Thanks for the detailed review.
> 
> -- 
> ~Vinod

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

* Re: [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable ufs nodes
  2021-12-06  5:58     ` Vinod Koul
@ 2021-12-07 15:01       ` Bjorn Andersson
  0 siblings, 0 replies; 44+ messages in thread
From: Bjorn Andersson @ 2021-12-07 15:01 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Konrad Dybcio, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On Sun 05 Dec 21:58 PST 2021, Vinod Koul wrote:

> On 01-12-21, 16:18, Konrad Dybcio wrote:
> > 
> > On 01.12.2021 08:29, Vinod Koul wrote:
> > > Enable the UFS and phy node and add the regulators used by them.
> > >
> > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 21 +++++++++++++++++++++
> > >  1 file changed, 21 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > index 218eb3ce1ee5..3e65d662ab8c 100644
> > > --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > @@ -5,6 +5,7 @@
> > >  
> > >  /dts-v1/;
> > >  
> > > +#include <dt-bindings/gpio/gpio.h>
> > 
> > This should probably go to the SoC DTSI, as it's generally used
> > 
> > in every DT if you have anything more than serial console working..
> 
> But arent the gpios added in board dts typically? I am okay either
> way... Bjorn where would you like this to be..?
> Seems like we have this is both board as well as SoC DTS

I like Konrad's suggestion of putting it in the dtsi, simply because it
saves us from including it in every board file - where it will be needed.

Regards,
Bjorn

> > 
> > 
> > Konrad
> 
> -- 
> ~Vinod

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

* Re: [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files
  2021-12-01 15:23   ` Konrad Dybcio
@ 2021-12-07 15:05     ` Bjorn Andersson
  2021-12-07 15:51       ` Vinod Koul
  0 siblings, 1 reply; 44+ messages in thread
From: Bjorn Andersson @ 2021-12-07 15:05 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Vinod Koul, linux-arm-msm, Andy Gross, Rob Herring, devicetree,
	linux-kernel

On Wed 01 Dec 07:23 PST 2021, Konrad Dybcio wrote:

> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > SM8450 QRD platform has bunch of PMICs, include the common ones PM8350,
> > PM8350b and PMR735b
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > index 3e65d662ab8c..48228888f500 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > @@ -8,6 +8,9 @@
> >  #include <dt-bindings/gpio/gpio.h>
> >  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> >  #include "sm8450.dtsi"
> > +#include "pm8350.dtsi"
> > +#include "pm8350b.dtsi"
> > +#include "pmr735b.dtsi"
> >  
> >  / {
> >  	model = "Qualcomm Technologies, Inc. SM8450 QRD";
> >
> Again, this could have gone into a single "add board DTS" patch, but this
> 
> works too, I guess..
> 

I like that suggestion, putting the qrd.dts as a single patch at the end
of the series would look nice.

Regards,
Bjorn

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

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

* Re: [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files
  2021-12-07 15:05     ` Bjorn Andersson
@ 2021-12-07 15:51       ` Vinod Koul
  0 siblings, 0 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-07 15:51 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Konrad Dybcio, linux-arm-msm, Andy Gross, Rob Herring,
	devicetree, linux-kernel

On 07-12-21, 07:05, Bjorn Andersson wrote:
> On Wed 01 Dec 07:23 PST 2021, Konrad Dybcio wrote:
> 
> > 
> > On 01.12.2021 08:29, Vinod Koul wrote:
> > > SM8450 QRD platform has bunch of PMICs, include the common ones PM8350,
> > > PM8350b and PMR735b
> > >
> > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 3 +++
> > >  1 file changed, 3 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > index 3e65d662ab8c..48228888f500 100644
> > > --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts
> > > @@ -8,6 +8,9 @@
> > >  #include <dt-bindings/gpio/gpio.h>
> > >  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> > >  #include "sm8450.dtsi"
> > > +#include "pm8350.dtsi"
> > > +#include "pm8350b.dtsi"
> > > +#include "pmr735b.dtsi"
> > >  
> > >  / {
> > >  	model = "Qualcomm Technologies, Inc. SM8450 QRD";
> > >
> > Again, this could have gone into a single "add board DTS" patch, but this
> > 
> > works too, I guess..
> > 
> 
> I like that suggestion, putting the qrd.dts as a single patch at the end
> of the series would look nice.

I can do that.. I think I would do a dts patch but would keep
regulator one separate..

-- 
~Vinod

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

* Re: [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support
  2021-12-01 15:28   ` Konrad Dybcio
@ 2021-12-09  7:11     ` Vinod Koul
  0 siblings, 0 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-09  7:11 UTC (permalink / raw)
  To: Konrad Dybcio; +Cc: linux-arm-msm, Bjorn Andersson, Vladimir Zapolskiy

On 01-12-21, 16:28, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> >
> > The change adds a description of a SM8450 cpufreq-epss controller and
> > references to it from CPU nodes.
> >
> > Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450.dtsi | 27 +++++++++++++++++++++++++++
> >  1 file changed, 27 insertions(+)
> >
> [...]
> 
> 
> >  
> > +			cluster1 {
> >  				core4 {
> >  					cpu = <&CPU4>;
> >  				};
> > @@ -182,7 +192,9 @@ core5 {
> >  				core6 {
> >  					cpu = <&CPU6>;
> >  				};
> > +			};
> >  
> > +			cluster2 {
> >  				core7 {
> >  					cpu = <&CPU7>;
> >  				};
> 
> Weren't DynamIQ-enabled SoCs supposed to be treated as single-cluster
> 
> from the Linux POV? Or has it changed again with the new chips?

I discussed with Bjorn and yes we should have a single cluster for this.
will fix

-- 
~Vinod

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

* Re: [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes
  2021-12-01 15:30   ` Konrad Dybcio
@ 2021-12-09  7:13     ` Vinod Koul
  0 siblings, 0 replies; 44+ messages in thread
From: Vinod Koul @ 2021-12-09  7:13 UTC (permalink / raw)
  To: Konrad Dybcio; +Cc: linux-arm-msm, Bjorn Andersson, Dmitry Baryshkov

On 01-12-21, 16:30, Konrad Dybcio wrote:
> 
> On 01.12.2021 08:29, Vinod Koul wrote:
> > From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> >
> > Add device tree nodes for two i2c blocks: i2c13 and i2c14.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> >  arch/arm64/boot/dts/qcom/sm8450.dtsi | 64 ++++++++++++++++++++++++++++
> >  1 file changed, 64 insertions(+)
> >
> [...]
> 
> 
> >  		config_noc: interconnect@1500000 {
> >  			compatible = "qcom,sm8450-config-noc";
> >  			reg = <0 0x01500000 0 0x1c000>;
> > @@ -687,6 +725,32 @@ tlmm: pinctrl@f100000 {
> >  			gpio-ranges = <&tlmm 0 0 211>;
> >  			wakeup-parent = <&pdc>;
> >  
> > +			qup_i2c13_default_state: qup-i2c13-default-state {
> > +				mux {
> > +					pins = "gpio48", "gpio49";
> > +					function = "qup13";
> > +				};
> > +
> > +				config {
> > +					pins = "gpio48", "gpio49";
> > +					drive-strength = <2>;
> > +					bias-pull-up;
> > +				};
> > +			};
> > +
> 
> This should be collapsed into:
> 
> 
> qup_i2c13_default_state: qup-i2c13-default-state {
> 
>         pins = "..."
> 
>         function = "..."
> 
>         drive-strength = <2>
> 
>         bias-pull-up;
> 
> };
> 
> 
> And the same goes for the rest of the pins.

Yeah that looks neater and done that now

-- 
~Vinod

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

end of thread, other threads:[~2021-12-09  7:13 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-01  7:29 [PATCH 00/15] arm64: dts: qcom: Add support for SM8450 SoC and QRD board Vinod Koul
2021-12-01  7:29 ` [PATCH 01/15] arm64: dts: qcom: Add base SM8450 DTSI Vinod Koul
2021-12-01 15:03   ` Konrad Dybcio
2021-12-06  5:39     ` Vinod Koul
2021-12-07 14:35       ` Bjorn Andersson
2021-12-07 14:53   ` Bjorn Andersson
2021-12-01  7:29 ` [PATCH 02/15] arm64: dts: qcom: Add base SM8450 QRD DTS Vinod Koul
2021-12-01 15:05   ` Konrad Dybcio
2021-12-01  7:29 ` [PATCH 03/15] arm64: dts: qcom: sm8450: Add tlmm nodes Vinod Koul
2021-12-07 14:37   ` Bjorn Andersson
2021-12-01  7:29 ` [PATCH 04/15] arm64: dts: qcom: sm8450-qrd: Add reserved gpio range for QRD Vinod Koul
2021-12-01 15:07   ` Konrad Dybcio
2021-12-06  5:53     ` Vinod Koul
2021-12-07 14:56       ` Bjorn Andersson
2021-12-01  7:29 ` [PATCH 05/15] arm64: dts: qcom: sm8450: Add reserved memory nodes Vinod Koul
2021-12-01 15:11   ` Konrad Dybcio
2021-12-06  5:42     ` Vinod Koul
2021-12-01  7:29 ` [PATCH 06/15] arm64: dts: qcom: sm8450: add smmu nodes Vinod Koul
2021-12-01 15:13   ` Konrad Dybcio
2021-12-01  7:29 ` [PATCH 07/15] arm64: dts: qcom: sm8450-qrd: Add rpmh regulator nodes Vinod Koul
2021-12-01 15:14   ` Konrad Dybcio
2021-12-01  7:29 ` [PATCH 08/15] arm64: dts: qcom: sm8450: add ufs nodes Vinod Koul
2021-12-01 15:16   ` Konrad Dybcio
2021-12-01  7:29 ` [PATCH 09/15] arm64: dts: qcom: sm8450-qrd: enable " Vinod Koul
2021-12-01 15:18   ` Konrad Dybcio
2021-12-06  5:58     ` Vinod Koul
2021-12-07 15:01       ` Bjorn Andersson
2021-12-01  7:29 ` [PATCH 10/15] arm64: dts: qcom: sm8450: add interconnect nodes Vinod Koul
2021-12-01 15:20   ` Konrad Dybcio
2021-12-06  6:12     ` Vinod Koul
2021-12-01  7:29 ` [PATCH 11/15] arm64: dts: qcom: sm8450: add spmi node Vinod Koul
2021-12-01 15:22   ` Konrad Dybcio
2021-12-01  7:29 ` [PATCH 12/15] arm64: dts: qcom: sm8450-qrd: include pmic files Vinod Koul
2021-12-01 15:23   ` Konrad Dybcio
2021-12-07 15:05     ` Bjorn Andersson
2021-12-07 15:51       ` Vinod Koul
2021-12-01  7:29 ` [PATCH 13/15] arm64: dts: qcom: sm8450: Add rpmhpd node Vinod Koul
2021-12-01 15:24   ` Konrad Dybcio
2021-12-01  7:29 ` [PATCH 14/15] arm64: dts: qcom: sm8450: add cpufreq support Vinod Koul
2021-12-01 15:28   ` Konrad Dybcio
2021-12-09  7:11     ` Vinod Koul
2021-12-01  7:29 ` [PATCH 15/15] arm64: dts: qcom: sm8450: add i2c13 and i2c14 device nodes Vinod Koul
2021-12-01 15:30   ` Konrad Dybcio
2021-12-09  7:13     ` Vinod Koul

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