linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates
@ 2020-06-23 22:47 Konrad Dybcio
  2020-06-23 22:48 ` [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style Konrad Dybcio
                   ` (11 more replies)
  0 siblings, 12 replies; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:47 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

changes since v1:
- clean up the commit history and cut down
on unnecessary commit count
- bring the DTS in line with the newest ones
- fix some minor typos that went unnoticed
- drop RPMCC patch (sent separately)
- drop the pmi8994 patch (applied)

The patchet depends on:
- https://patchwork.kernel.org/patch/11584267/ (even though bullhead used
that for a few years and the property never existed but nobody noticed)

- https://patchwork.kernel.org/patch/11580845/ (no point duplicating it for 8994)

- RPMCC for 8992/4 (sent soon after this series)

Konrad Dybcio (12):
  arm64: dts: qcom: msm8994: Modernize the DTS style
  arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device
  arm64: dts: qcom: msm8994: Add a proper CPU map
  arm64: dts: qcom: msm8994: Add support for SMD RPM
  arm64: dts: qcom: msm8994: Add SDHCI1 node
  arm64: dts: qcom: msm8994: Add SCM node
  arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes
  arm64: dts: qcom: msm8994: Add pmu node
  arm64: dts: qcom: msm8994: Add PSCI node
  arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id
  arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead.
  arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)

 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../dts/qcom/msm8992-bullhead-rev-101.dts     | 264 ++++++-
 .../boot/dts/qcom/msm8994-angler-rev-101.dts  |   2 +
 arch/arm64/boot/dts/qcom/msm8994-pins.dtsi    |  30 -
 arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi | 268 -------
 .../msm8994-sony-xperia-kitakami-sumire.dts   | 395 ++++++++++
 arch/arm64/boot/dts/qcom/msm8994.dtsi         | 710 ++++++++++++++++--
 7 files changed, 1303 insertions(+), 367 deletions(-)
 delete mode 100644 arch/arm64/boot/dts/qcom/msm8994-pins.dtsi
 delete mode 100644 arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts

-- 
2.27.0


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

* [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:04   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 02/12] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Following changes have been made:

- remove name, compatible and msm-id
- wrap clocks in clocks{}
- order nodes by name and by address
- clock_gcc -> gcc
- msmgpio -> tlmm
- qcom,smem -> smem
- remove unit-address from smem
- retire msm8994-pins.dtsi
- add some of the missing pins
- make comments C-style

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994-pins.dtsi |  30 ---
 arch/arm64/boot/dts/qcom/msm8994.dtsi      | 288 ++++++++++++++++-----
 2 files changed, 224 insertions(+), 94 deletions(-)
 delete mode 100644 arch/arm64/boot/dts/qcom/msm8994-pins.dtsi

diff --git a/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi
deleted file mode 100644
index 2e118d967f53..000000000000
--- a/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi
+++ /dev/null
@@ -1,30 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
- */
-
-&msmgpio {
-	blsp1_uart2_default: blsp1_uart2_default {
-		pinmux {
-			function = "blsp_uart2";
-			pins = "gpio4", "gpio5";
-		};
-		pinconf {
-			pins = "gpio4", "gpio5";
-			drive-strength = <16>;
-			bias-disable;
-		};
-	};
-
-	blsp1_uart2_sleep: blsp1_uart2_sleep {
-		pinmux {
-			function = "gpio";
-			pins = "gpio4", "gpio5";
-		};
-		pinconf {
-			pins = "gpio4", "gpio5";
-			drive-strength = <2>;
-			bias-pull-down;
-		};
-	};
-};
diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index b1c2d7d6a0f2..79e6e46798c8 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -6,12 +6,6 @@
 #include <dt-bindings/clock/qcom,gcc-msm8994.h>
 
 / {
-	model = "Qualcomm Technologies, Inc. MSM 8994";
-	compatible = "qcom,msm8994";
-	// msm-id and pmic-id are required by bootloader for
-	// proper selection of dt blob
-	qcom,msm-id = <207 0x20000>;
-	qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>;
 	interrupt-parent = <&intc>;
 
 	#address-cells = <2>;
@@ -19,6 +13,20 @@ / {
 
 	chosen { };
 
+	clocks {
+		xo_board: xo_board {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <19200000>;
+		};
+
+		sleep_clk: sleep_clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <32768>;
+		};
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -42,12 +50,27 @@ L2_0: l2-cache {
 		};
 	};
 
-	timer {
-		compatible = "arm,armv8-timer";
-		interrupts = <1 2 0xff08>,
-			     <1 3 0xff08>,
-			     <1 4 0xff08>,
-			     <1 1 0xff08>;
+	memory {
+		device_type = "memory";
+		/* We expect the bootloader to fill in the reg */
+		reg = <0 0 0 0>;
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		smem_mem: smem_region@6a00000 {
+			reg = <0x0 0x6a00000 0x0 0x200000>;
+			no-map;
+		};
+	};
+
+	smem {
+		compatible = "qcom,smem";
+		memory-region = <&smem_mem>;
+		hwlocks = <&tcsr_mutex 3>;
 	};
 
 	soc: soc {
@@ -123,72 +146,209 @@ frame@f9028000 {
 			};
 		};
 
+		blsp1_uart2: serial@f991e000 {
+			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+			reg = <0xf991e000 0x1000>;
+			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+			status = "disabled";
+			clock-names = "core", "iface";
+			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
+				 <&gcc GCC_BLSP1_AHB_CLK>;
+		};
+
+		gcc: clock-controller@fc400000 {
+			compatible = "qcom,gcc-msm8994";
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+			#power-domain-cells = <1>;
+			reg = <0xfc400000 0x2000>;
+		};
+
 		restart@fc4ab000 {
 			compatible = "qcom,pshold";
 			reg = <0xfc4ab000 0x4>;
 		};
 
-		msmgpio: pinctrl@fd510000 {
+		tcsr_mutex_regs: syscon@fd484000 {
+			compatible = "syscon";
+			reg = <0xfd484000 0x2000>;
+		};
+
+		tlmm: pinctrl@fd510000 {
 			compatible = "qcom,msm8994-pinctrl";
 			reg = <0xfd510000 0x4000>;
 			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
 			gpio-controller;
-			gpio-ranges = <&msmgpio 0 0 146>;
+			gpio-ranges = <&tlmm 0 0 146>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			#interrupt-cells = <2>;
-		};
 
-		blsp1_uart2: serial@f991e000 {
-			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
-			reg = <0xf991e000 0x1000>;
-			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
-			status = "disabled";
-			clock-names = "core", "iface";
-			clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>,
-				 <&clock_gcc GCC_BLSP1_AHB_CLK>;
-		};
+			blsp1_uart2_default: blsp1-uart2-default {
+				function = "blsp_uart2";
+				pins = "gpio4", "gpio5";
+				drive-strength = <16>;
+				bias-disable;
+			};
 
-		tcsr_mutex_regs: syscon@fd484000 {
-			compatible = "syscon";
-			reg = <0xfd484000 0x2000>;
-		};
+			blsp1_uart2_sleep: blsp1-uart2-sleep {
+				function = "gpio";
+				pins = "gpio4", "gpio5";
+				drive-strength = <2>;
+				bias-pull-down;
+			};
 
-		clock_gcc: clock-controller@fc400000 {
-			compatible = "qcom,gcc-msm8994";
-			#clock-cells = <1>;
-			#reset-cells = <1>;
-			#power-domain-cells = <1>;
-			reg = <0xfc400000 0x2000>;
-		};
-	};
+			blsp2_uart2_default: blsp2-uart2-default {
+				function = "blsp_uart8";
+				pins = "gpio45", "gpio46";
+				drive-strength = <2>;
+				bias-disable;
+			};
 
-	memory {
-		device_type = "memory";
-		// We expect the bootloader to fill in the reg
-		reg = <0 0 0 0>;
-	};
+			blsp2_uart2_sleep: blsp2-uart2-sleep {
+				function = "gpio";
+				pins = "gpio45", "gpio46";
+				drive-strength = <2>;
+				bias-pull-down;
+			};
 
-	xo_board: xo_board {
-		compatible = "fixed-clock";
-		#clock-cells = <0>;
-		clock-frequency = <19200000>;
-	};
+			i2c1_default: i2c1-default {
+				function = "blsp_i2c1";
+				pins = "gpio2", "gpio3";
+				drive-strength = <2>;
+				bias-disable;
+			};
 
-	sleep_clk: sleep_clk {
-		compatible = "fixed-clock";
-		#clock-cells = <0>;
-		clock-frequency = <32768>;
-	};
+			i2c1_sleep: i2c1-sleep {
+				function = "gpio";
+				pins = "gpio2", "gpio3";
+				drive-strength = <2>;
+				bias-disable;
+			};
 
-	reserved-memory {
-		#address-cells = <2>;
-		#size-cells = <2>;
-		ranges;
+			i2c2_default: i2c2-default {
+				function = "blsp_i2c2";
+				pins = "gpio6", "gpio7";
+				drive-strength = <2>;
+				bias-disable;
+			};
 
-		smem_mem: smem_region@6a00000 {
-			reg = <0x0 0x6a00000 0x0 0x200000>;
-			no-map;
+			i2c2_sleep: i2c2-sleep {
+				function = "gpio";
+				pins = "gpio6", "gpio7";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			i2c4_default: i2c4-default {
+				function = "blsp_i2c4";
+				pins = "gpio19", "gpio20";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			i2c4_sleep: i2c4-sleep {
+				function = "gpio";
+				pins = "gpio19", "gpio20";
+				drive-strength = <2>;
+				bias-pull-down;
+				input-enable;
+			};
+
+			i2c5_default: i2c5-default {
+				function = "blsp_i2c5";
+				pins = "gpio23", "gpio24";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			i2c5_sleep: i2c5-sleep {
+				function = "gpio";
+				pins = "gpio23", "gpio24";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			i2c6_default: i2c6-default {
+				function = "blsp_i2c6";
+				pins = "gpio28", "gpio27";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			i2c6_sleep: i2c6-sleep {
+				function = "gpio";
+				pins = "gpio28", "gpio27";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			blsp1_spi0_default: blsp1-spi0-default {
+				default {
+					function = "blsp_spi1";
+					pins = "gpio0", "gpio1", "gpio3";
+					drive-strength = <10>;
+					bias-pull-down;
+				};
+				cs {
+					function = "gpio";
+					pins = "gpio8";
+					drive-strength = <2>;
+					bias-disable;
+				};
+			};
+
+			blsp1_spi0_sleep: blsp1-spi0-sleep {
+				pins = "gpio0", "gpio1", "gpio3";
+				drive-strength = <2>;
+				bias-disable;
+			};
+
+			sdc1_clk_on: clk-on {
+				pins = "sdc1_clk";
+				bias-disable;
+				drive-strength = <16>;
+			};
+
+			sdc1_clk_off: clk-off {
+				pins = "sdc1_clk";
+				bias-disable;
+				drive-strength = <2>;
+			};
+
+			sdc1_cmd_on: cmd-on {
+				pins = "sdc1_cmd";
+				bias-pull-up;
+				drive-strength = <8>;
+			};
+
+			sdc1_cmd_off: cmd-off {
+				pins = "sdc1_cmd";
+				bias-pull-up;
+				drive-strength = <2>;
+			};
+
+			sdc1_data_on: data-on {
+				pins = "sdc1_data";
+				bias-pull-up;
+				drive-strength = <8>;
+			};
+
+			sdc1_data_off: data-off {
+				pins = "sdc1_data";
+				bias-pull-up;
+				drive-strength = <2>;
+			};
+
+			sdc1_rclk_on: rclk-on {
+				pins = "sdc1_rclk";
+				bias-pull-down;
+			};
+
+			sdc1_rclk_off: rclk-off {
+				pins = "sdc1_rclk";
+				bias-pull-down;
+			};
 		};
 	};
 
@@ -198,12 +358,12 @@ tcsr_mutex: hwlock {
 		#hwlock-cells = <1>;
 	};
 
-	qcom,smem@6a00000 {
-		compatible = "qcom,smem";
-		memory-region = <&smem_mem>;
-		hwlocks = <&tcsr_mutex 3>;
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupts = <1 2 0xff08>,
+					<1 3 0xff08>,
+					<1 4 0xff08>,
+					<1 1 0xff08>;
 	};
 };
 
-
-#include "msm8994-pins.dtsi"
-- 
2.27.0


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

* [PATCH v2 02/12] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
  2020-06-23 22:48 ` [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:15   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 03/12] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add SPMI PMIC arbiter device to communicate with PMICs
attached to SPMI bus.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 79e6e46798c8..23e50c30669b 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -169,6 +169,22 @@ restart@fc4ab000 {
 			reg = <0xfc4ab000 0x4>;
 		};
 
+		spmi_bus: spmi@fc4c0000 {
+			compatible = "qcom,spmi-pmic-arb";
+			reg = <0xfc4cf000 0x1000>,
+			      <0xfc4cb000 0x1000>,
+			      <0xfc4ca000 0x1000>;
+			reg-names = "core", "intr", "cnfg";
+			interrupt-names = "periph_irq";
+			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
+			qcom,ee = <0>;
+			qcom,channel = <0>;
+			#address-cells = <2>;
+			#size-cells = <0>;
+			interrupt-controller;
+			#interrupt-cells = <4>;
+		};
+
 		tcsr_mutex_regs: syscon@fd484000 {
 			compatible = "syscon";
 			reg = <0xfd484000 0x2000>;
-- 
2.27.0


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

* [PATCH v2 03/12] arm64: dts: qcom: msm8994: Add a proper CPU map
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
  2020-06-23 22:48 ` [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style Konrad Dybcio
  2020-06-23 22:48 ` [PATCH v2 02/12] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:16   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add a proper CPU map to enable the use of all 8 cores.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 112 +++++++++++++++++++++++---
 1 file changed, 102 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 23e50c30669b..e7f4b06eb12c 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -28,24 +28,116 @@ sleep_clk: sleep_clk {
 	};
 
 	cpus {
-		#address-cells = <1>;
+		#address-cells = <2>;
 		#size-cells = <0>;
+
+		CPU0: cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x0 0x0>;
+			enable-method = "psci";
+			next-level-cache = <&L2_0>;
+			L2_0: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+			};
+		};
+
+		CPU1: cpu@1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x0 0x1>;
+			enable-method = "psci";
+			next-level-cache = <&L2_0>;
+		};
+
+		CPU2: cpu@2 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x0 0x2>;
+			enable-method = "psci";
+			next-level-cache = <&L2_0>;
+		};
+
+		CPU3: cpu@3 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53";
+			reg = <0x0 0x3>;
+			enable-method = "psci";
+			next-level-cache = <&L2_0>;
+		};
+
+		CPU4: cpu@100 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a57";
+			reg = <0x0 0x100>;
+			enable-method = "psci";
+			next-level-cache = <&L2_1>;
+			L2_1: l2-cache {
+				compatible = "cache";
+				cache-level = <2>;
+			};
+		};
+
+		CPU5: cpu@101 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a57";
+			reg = <0x0 0x101>;
+			enable-method = "psci";
+			next-level-cache = <&L2_1>;
+		};
+
+		CPU6: cpu@102 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a57";
+			reg = <0x0 0x101>;
+			enable-method = "psci";
+			next-level-cache = <&L2_1>;
+		};
+
+		CPU7: cpu@103 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a57";
+			reg = <0x0 0x101>;
+			enable-method = "psci";
+			next-level-cache = <&L2_1>;
+		};
+
 		cpu-map {
 			cluster0 {
 				core0 {
 					cpu = <&CPU0>;
 				};
+
+				core1 {
+					cpu = <&CPU1>;
+				};
+
+				core2 {
+					cpu = <&CPU2>;
+				};
+
+				core3 {
+					cpu = <&CPU3>;
+				};
 			};
-		};
 
-		CPU0: cpu@0 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a53";
-			reg = <0x0>;
-			next-level-cache = <&L2_0>;
-			L2_0: l2-cache {
-			      compatible = "cache";
-			      cache-level = <2>;
+			cluster1 {
+				core0 {
+					cpu = <&CPU4>;
+				};
+
+				core1 {
+					cpu = <&CPU5>;
+				};
+
+				core2 {
+					cpu = <&CPU6>;
+				};
+
+				core3 {
+					cpu = <&CPU7>;
+				};
 			};
 		};
 	};
-- 
2.27.0


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

* [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (2 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 03/12] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:15   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 05/12] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add support for SMD RPM, including pm8994 and pmi8994
regulators.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 111 ++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index e7f4b06eb12c..a4edc3be7024 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -159,9 +159,100 @@ smem_mem: smem_region@6a00000 {
 		};
 	};
 
+	smd {
+		compatible = "qcom,smd";
+		rpm {
+			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+			qcom,ipc = <&apcs 8 0>;
+			qcom,smd-edge = <15>;
+			qcom,local-pid = <0>;
+			qcom,remote-pid = <6>;
+
+			rpm-requests {
+				compatible = "qcom,rpm-msm8994";
+				qcom,smd-channels = "rpm_requests";
+
+				rpmcc: rpmcc {
+					compatible = "qcom,rpmcc-msm8994";
+					#clock-cells = <1>;
+				};
+
+				pm8994_regulators: pm8994-regulators {
+					compatible = "qcom,rpm-pm8994-regulators";
+					vdd_l1-supply = <&pm8994_s1>;
+					vdd_l2_26_28-supply = <&pm8994_s3>;
+					vdd_l3_11-supply = <&pm8994_s3>;
+					vdd_l4_27_31-supply = <&pm8994_s3>;
+					vdd_l5_7-supply = <&pm8994_s3>;
+					vdd_l6_12_32-supply = <&pm8994_s5>;
+					vdd_l8_16_30-supply = <&vreg_vph_pwr>;
+					vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
+					vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
+					vdd_l14_15-supply = <&pm8994_s5>;
+					vdd_l17_29-supply = <&vreg_vph_pwr>;
+					vdd_l20_21-supply = <&vreg_vph_pwr>;
+					vdd_l25-supply = <&pm8994_s5>;
+					vdd_lvs1_2 = <&pm8994_s4>;
+
+					pm8994_s1: s1 {};
+					pm8994_s2: s2 {};
+					pm8994_s3: s3 {};
+					pm8994_s4: s4 {};
+					pm8994_s5: s5 {};
+					pm8994_s6: s6 {};
+					pm8994_s7: s7 {};
+
+					pm8994_l1: l1 {};
+					pm8994_l2: l2 {};
+					pm8994_l3: l3 {};
+					pm8994_l4: l4 {};
+					pm8994_l6: l6 {};
+					pm8994_l8: l8 {};
+					pm8994_l9: l9 {};
+					pm8994_l10: l10 {};
+					pm8994_l11: l11 {};
+					pm8994_l12: l12 {};
+					pm8994_l13: l13 {};
+					pm8994_l14: l14 {};
+					pm8994_l15: l15 {};
+					pm8994_l16: l16 {};
+					pm8994_l17: l17 {};
+					pm8994_l18: l18 {};
+					pm8994_l19: l19 {};
+					pm8994_l20: l20 {};
+					pm8994_l21: l21 {};
+					pm8994_l22: l22 {};
+					pm8994_l23: l23 {};
+					pm8994_l24: l24 {};
+					pm8994_l25: l25 {};
+					pm8994_l26: l26 {};
+					pm8994_l27: l27 {};
+					pm8994_l28: l28 {};
+					pm8994_l29: l29 {};
+					pm8994_l30: l30 {};
+					pm8994_l31: l31 {};
+					pm8994_l32: l32 {};
+
+					pm8994_lvs1: lvs1 {};
+					pm8994_lvs2: lvs2 {};
+				};
+
+				pmi8994_regulators: pmi8994-regulators {
+					compatible = "qcom,rpm-pmi8994-regulators";
+
+					pmi8994_s1: s1 {};
+					pmi8994_s2: s2 {};
+					pmi8994_s3: s3 {};
+					pmi8994_bby: boost-bypass {};
+				};
+			};
+		};
+	};
+
 	smem {
 		compatible = "qcom,smem";
 		memory-region = <&smem_mem>;
+		qcom,rpm-msg-ram = <&rpm_msg_ram>;
 		hwlocks = <&tcsr_mutex 3>;
 	};
 
@@ -180,6 +271,11 @@ intc: interrupt-controller@f9000000 {
 				  <0xf9002000 0x1000>;
 		};
 
+		apcs: syscon@f900d000 {
+			compatible = "syscon";
+			reg = <0xf900d000 0x2000>;
+		};
+
 		timer@f9020000 {
 			#address-cells = <1>;
 			#size-cells = <1>;
@@ -256,6 +352,11 @@ gcc: clock-controller@fc400000 {
 			reg = <0xfc400000 0x2000>;
 		};
 
+		rpm_msg_ram: memory@fc428000 {
+			compatible = "qcom,rpm-msg-ram";
+			reg = <0xfc428000 0x4000>;
+		};
+
 		restart@fc4ab000 {
 			compatible = "qcom,pshold";
 			reg = <0xfc4ab000 0x4>;
@@ -473,5 +574,15 @@ timer {
 					<1 4 0xff08>,
 					<1 1 0xff08>;
 	};
+
+	vreg_vph_pwr: vreg-vph-pwr {
+		compatible = "regulator-fixed";
+		regulator-name = "vph-pwr";
+
+		regulator-min-microvolt = <3600000>;
+		regulator-max-microvolt = <3600000>;
+
+		regulator-always-on;
+	};
 };
 
-- 
2.27.0


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

* [PATCH v2 05/12] arm64: dts: qcom: msm8994: Add SDHCI1 node
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (3 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:17   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Enable support for SDHCI on msm8994-based devices.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index a4edc3be7024..f989530ffa90 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -334,6 +334,31 @@ frame@f9028000 {
 			};
 		};
 
+		sdhc1: sdhci@f9824900 {
+			compatible = "qcom,sdhci-msm-v4";
+			reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>;
+			reg-names = "hc_mem", "core_mem";
+
+			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
+					<GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "hc_irq", "pwr_irq";
+
+			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
+				<&gcc GCC_SDCC1_AHB_CLK>,
+				<&xo_board>;
+			clock-names = "core", "iface", "xo";
+
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on
+							&sdc1_rclk_on>;
+			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off
+							&sdc1_rclk_off>;
+
+			bus-width = <8>;
+			non-removable;
+			status = "disabled";
+		};
+
 		blsp1_uart2: serial@f991e000 {
 			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
 			reg = <0xf991e000 0x1000>;
-- 
2.27.0


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

* [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (4 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 05/12] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:19   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 07/12] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index f989530ffa90..838ffc0d9c16 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -142,6 +142,12 @@ core3 {
 		};
 	};
 
+	firmware {
+		scm {
+			compatible = "qcom,scm-msm8992";
+		};
+	};
+
 	memory {
 		device_type = "memory";
 		/* We expect the bootloader to fill in the reg */
-- 
2.27.0


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

* [PATCH v2 07/12] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (5 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:21   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 08/12] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add support for I2C and SPI buses to enable peripherals
such as touchscreens or sensors. Also add DMA nodes,
configuration and BLSP2 UART2 interface.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 156 +++++++++++++++++++++++++-
 1 file changed, 155 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 838ffc0d9c16..8af01ebe73f7 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -365,14 +365,168 @@ sdhc1: sdhci@f9824900 {
 			status = "disabled";
 		};
 
+		blsp1_dma: dma@f9904000 {
+			compatible = "qcom,bam-v1.7.0";
+			reg = <0xf9904000 0x19000>;
+			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
+			clock-names = "bam_clk";
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			num-channels = <18>;
+			qcom,num-ees = <4>;
+		};
+
 		blsp1_uart2: serial@f991e000 {
 			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
 			reg = <0xf991e000 0x1000>;
 			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
-			status = "disabled";
 			clock-names = "core", "iface";
 			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
 				 <&gcc GCC_BLSP1_AHB_CLK>;
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&blsp1_uart2_default>;
+			pinctrl-1 = <&blsp1_uart2_sleep>;
+			status = "disabled";
+		};
+
+		blsp_i2c1: i2c@f9923000 {
+			compatible = "qcom,i2c-qup-v2.2.1";
+			reg = <0xf9923000 0x500>;
+			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
+						<&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
+			clock-names = "iface", "core";
+			clock-frequency = <400000>;
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&i2c1_default>;
+			pinctrl-1 = <&i2c1_sleep>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		blsp_spi0: spi@f9923000 {
+			compatible = "qcom,spi-qup-v2.2.1";
+			reg = <0xf9923000 0x500>;
+			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
+				 <&gcc GCC_BLSP1_AHB_CLK>;
+			clock-names = "core", "iface";
+			spi-max-frequency = <19200000>;
+			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
+			dma-names = "tx", "rx";
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&blsp1_spi0_default>;
+			pinctrl-1 = <&blsp1_spi0_sleep>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		blsp_i2c2: i2c@f9924000 {
+			compatible = "qcom,i2c-qup-v2.2.1";
+			reg = <0xf9924000 0x500>;
+			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
+						<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
+			clock-names = "iface", "core";
+			clock-frequency = <355000>;
+			dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
+			dma-names = "tx", "rx";
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&i2c2_default>;
+			pinctrl-1 = <&i2c2_sleep>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		/* I2C3 doesn't exist */
+
+		blsp_i2c4: i2c@f9926000 {
+			compatible = "qcom,i2c-qup-v2.2.1";
+			reg = <0xf9926000 0x500>;
+			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
+						<&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
+			clock-names = "iface", "core";
+			clock-frequency = <355000>;
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&i2c4_default>;
+			pinctrl-1 = <&i2c4_sleep>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		blsp2_dma: dma@f9944000 {
+			compatible = "qcom,bam-v1.7.0";
+			reg = <0xf9944000 0x19000>;
+			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
+			clock-names = "bam_clk";
+			#dma-cells = <1>;
+			qcom,ee = <0>;
+			qcom,controlled-remotely;
+			num-channels = <18>;
+			qcom,num-ees = <4>;
+		};
+
+		/* According to downstream kernels, i2c6
+		 * comes before i2c5 address-wise...
+		 */
+
+		blsp_i2c6: i2c@f9928000 {
+			compatible = "qcom,i2c-qup-v2.2.1";
+			reg = <0xf9928000 0x500>;
+			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
+						<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
+			clock-names = "iface", "core";
+			clock-frequency = <355000>;
+			dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
+			dma-names = "tx", "rx";
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&i2c6_default>;
+			pinctrl-1 = <&i2c6_sleep>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+		};
+
+		blsp2_uart2: serial@f995e000 {
+			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+			reg = <0xf995e000 0x1000>;
+			interrupts = <GIC_SPI 146 IRQ_TYPE_EDGE_FALLING>;
+			clock-names = "core", "iface";
+			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
+					<&gcc GCC_BLSP2_AHB_CLK>;
+			dmas = <&blsp2_dma 2>, <&blsp2_dma 3>;
+			dma-names = "tx", "rx";
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&blsp2_uart2_default>;
+			pinctrl-1 = <&blsp2_uart2_sleep>;
+			status = "disabled";
+		};
+
+		blsp_i2c5: i2c@f9967000 {
+			compatible = "qcom,i2c-qup-v2.2.1";
+			reg = <0xf9967000 0x500>;
+			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
+						<&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
+			clock-names = "iface", "core";
+			clock-frequency = <355000>;
+			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
+			dma-names = "tx", "rx";
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&i2c5_default>;
+			pinctrl-1 = <&i2c5_sleep>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
 		};
 
 		gcc: clock-controller@fc400000 {
-- 
2.27.0


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

* [PATCH v2 08/12] arm64: dts: qcom: msm8994: Add pmu node
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (6 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 07/12] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:22   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 09/12] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add the CPU PMU to get perf support for hardware events.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 8af01ebe73f7..b3c01ebc5c67 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -154,6 +154,11 @@ memory {
 		reg = <0 0 0 0>;
 	};
 
+	pmu {
+		compatible = "arm,cortex-a53-pmu";
+		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
+	};
+
 	reserved-memory {
 		#address-cells = <2>;
 		#size-cells = <2>;
-- 
2.27.0


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

* [PATCH v2 09/12] arm64: dts: qcom: msm8994: Add PSCI node
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (7 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 08/12] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:22   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 10/12] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add PSCI node to enable multi-processor startup.

Note that not every 8994 device firmware supports PSCI,
and even if, then it can only start the cores and not
shut them down.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index b3c01ebc5c67..9eec8ab6bf2c 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -159,6 +159,11 @@ pmu {
 		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
 	};
 
+	psci {
+		compatible = "arm,psci-0.2";
+		method = "hvc";
+	};
+
 	reserved-memory {
 		#address-cells = <2>;
 		#size-cells = <2>;
-- 
2.27.0


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

* [PATCH v2 10/12] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (8 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 09/12] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:23   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 11/12] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
  2020-06-23 22:48 ` [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add properties required for the bootloader to select
the correct bootloader blob. They have been removed from
the SoC device tree as they should be set on a per-device
basis.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
index a5f9a6ab512c..baa55643b40f 100644
--- a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
+++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
@@ -11,6 +11,8 @@ / {
 	model = "Huawei Nexus 6P";
 	compatible = "huawei,angler", "qcom,msm8994";
 	/* required for bootloader to select correct board */
+	qcom,msm-id = <207 0x20000>;
+	qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>;
 	qcom,board-id = <8026 0>;
 
 	aliases {
-- 
2.27.0


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

* [PATCH v2 11/12] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead.
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (9 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 10/12] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:24   ` Bjorn Andersson
  2020-06-23 22:48 ` [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

This was the only device using that dtsi, so no point
keeping it separate AND with a confusing name (bullhead
is based on msm8992 and the file contains regulator
values for that specific board).

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 .../dts/qcom/msm8992-bullhead-rev-101.dts     | 264 ++++++++++++++++-
 arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi | 268 ------------------
 2 files changed, 263 insertions(+), 269 deletions(-)
 delete mode 100644 arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi

diff --git a/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts
index 32670d5afdd6..893fc5b8fc34 100644
--- a/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts
+++ b/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts
@@ -47,4 +47,266 @@ ramoops@1ff00000 {
 	};
 };
 
-#include "msm8994-smd-rpm.dtsi"
+&smd_rpm {
+	rpm {
+		rpm_requests {
+			pm8994-regulators {
+
+				vdd_l1-supply = <&pm8994_s1>;
+				vdd_l2_26_28-supply = <&pm8994_s3>;
+				vdd_l3_11-supply = <&pm8994_s3>;
+				vdd_l4_27_31-supply = <&pm8994_s3>;
+				vdd_l5_7-supply = <&pm8994_s3>;
+				vdd_l6_12_32-supply = <&pm8994_s5>;
+				vdd_l8_16_30-supply = <&vreg_vph_pwr>;
+				vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
+				vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
+				vdd_l14_15-supply = <&pm8994_s5>;
+				vdd_l17_29-supply = <&vreg_vph_pwr>;
+				vdd_l20_21-supply = <&vreg_vph_pwr>;
+				vdd_l25-supply = <&pm8994_s5>;
+				vdd_lvs1_2 = <&pm8994_s4>;
+
+				s1 {
+					regulator-min-microvolt = <800000>;
+					regulator-max-microvolt = <800000>;
+				};
+
+				s2 {
+					/* TODO */
+				};
+
+				s3 {
+					regulator-min-microvolt = <1300000>;
+					regulator-max-microvolt = <1300000>;
+				};
+
+				s4 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-allow-set-load;
+					regulator-system-load = <325000>;
+				};
+
+				s5 {
+					regulator-min-microvolt = <2150000>;
+					regulator-max-microvolt = <2150000>;
+				};
+
+				s7 {
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+				};
+
+				l1 {
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+				};
+
+				l2 {
+					regulator-min-microvolt = <1250000>;
+					regulator-max-microvolt = <1250000>;
+				};
+
+				l3 {
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+				};
+
+				l4 {
+					regulator-min-microvolt = <1225000>;
+					regulator-max-microvolt = <1225000>;
+				};
+
+				l5 {
+					/* TODO */
+				};
+
+				l6 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+
+				l7 {
+					/* TODO */
+				};
+
+				l8 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+
+				l9 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+				};
+
+				l10 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+				};
+
+				l11 {
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					qcom,init-voltage = <1200000>;
+				};
+
+				l12 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+					proxy-supply = <&pm8994_l12>;
+					qcom,proxy-consumer-enable;
+					qcom,proxy-consumer-current = <10000>;
+					status = "okay";
+				};
+
+				l13 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <2950000>;
+					qcom,init-voltage = <2950000>;
+					status = "okay";
+				};
+
+				l14 {
+					regulator-min-microvolt = <1200000>;
+					regulator-max-microvolt = <1200000>;
+					qcom,init-voltage = <1200000>;
+					proxy-supply = <&pm8994_l14>;
+					qcom,proxy-consumer-enable;
+					qcom,proxy-consumer-current = <10000>;
+					status = "okay";
+				};
+
+				l15 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+					status = "okay";
+				};
+
+				l16 {
+					regulator-min-microvolt = <2700000>;
+					regulator-max-microvolt = <2700000>;
+					qcom,init-voltage = <2700000>;
+					status = "okay";
+				};
+
+				l17 {
+					regulator-min-microvolt = <2700000>;
+					regulator-max-microvolt = <2700000>;
+					qcom,init-voltage = <2700000>;
+					status = "okay";
+				};
+
+				l18 {
+					regulator-min-microvolt = <3000000>;
+					regulator-max-microvolt = <3000000>;
+					regulator-always-on;
+					qcom,init-voltage = <3000000>;
+					qcom,init-ldo-mode = <1>;
+				};
+
+				l19 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+					status = "okay";
+				};
+
+				l20 {
+					regulator-min-microvolt = <2950000>;
+					regulator-max-microvolt = <2950000>;
+					regulator-always-on;
+					regulator-boot-on;
+					regulator-allow-set-load;
+					regulator-system-load = <570000>;
+				};
+
+				l21 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					regulator-always-on;
+					qcom,init-voltage = <1800000>;
+				};
+
+				l22 {
+					regulator-min-microvolt = <3100000>;
+					regulator-max-microvolt = <3100000>;
+					qcom,init-voltage = <3100000>;
+				};
+
+				l23 {
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+					qcom,init-voltage = <2800000>;
+				};
+
+				l24 {
+					regulator-min-microvolt = <3075000>;
+					regulator-max-microvolt = <3150000>;
+					qcom,init-voltage = <3075000>;
+				};
+
+				l25 {
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+				};
+
+				l26 {
+					/* TODO: value from downstream
+					regulator-min-microvolt = <987500>;
+					fails to apply */
+				};
+
+				l27 {
+					regulator-min-microvolt = <1050000>;
+					regulator-max-microvolt = <1050000>;
+					qcom,init-voltage = <1050000>;
+				};
+
+				l28 {
+					regulator-min-microvolt = <1000000>;
+					regulator-max-microvolt = <1000000>;
+					qcom,init-voltage = <1000000>;
+					proxy-supply = <&pm8994_l28>;
+					qcom,proxy-consumer-enable;
+					qcom,proxy-consumer-current = <10000>;
+				};
+
+				l29 {
+					/* TODO: Unsupported voltage range.
+					regulator-min-microvolt = <2800000>;
+					regulator-max-microvolt = <2800000>;
+					qcom,init-voltage = <2800000>;
+					*/
+				};
+
+				l30 {
+					/* TODO: get this verified
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+					*/
+				};
+
+				l31 {
+					regulator-min-microvolt = <1262500>;
+					regulator-max-microvolt = <1262500>;
+					qcom,init-voltage = <1262500>;
+				};
+
+				l32 {
+					/* TODO: get this verified
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <1800000>;
+					qcom,init-voltage = <1800000>;
+					*/
+				};
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi b/arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi
deleted file mode 100644
index 31e3eb6ab515..000000000000
--- a/arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi
+++ /dev/null
@@ -1,268 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/* Copyright (c) 2015, LGE Inc. All rights reserved.
- * Copyright (c) 2016, The Linux Foundation. All rights reserved.
- */
-
-&smd_rpm {
-	rpm {
-		rpm_requests {
-			pm8994-regulators {
-
-				vdd_l1-supply = <&pm8994_s1>;
-				vdd_l2_26_28-supply = <&pm8994_s3>;
-				vdd_l3_11-supply = <&pm8994_s3>;
-				vdd_l4_27_31-supply = <&pm8994_s3>;
-				vdd_l5_7-supply = <&pm8994_s3>;
-				vdd_l6_12_32-supply = <&pm8994_s5>;
-				vdd_l8_16_30-supply = <&vreg_vph_pwr>;
-				vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
-				vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
-				vdd_l14_15-supply = <&pm8994_s5>;
-				vdd_l17_29-supply = <&vreg_vph_pwr>;
-				vdd_l20_21-supply = <&vreg_vph_pwr>;
-				vdd_l25-supply = <&pm8994_s5>;
-				vdd_lvs1_2 = <&pm8994_s4>;
-
-				s1 {
-					regulator-min-microvolt = <800000>;
-					regulator-max-microvolt = <800000>;
-				};
-
-				s2 {
-					/* TODO */
-				};
-
-				s3 {
-					regulator-min-microvolt = <1300000>;
-					regulator-max-microvolt = <1300000>;
-				};
-
-				s4 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-allow-set-load;
-					regulator-system-load = <325000>;
-				};
-
-				s5 {
-					regulator-min-microvolt = <2150000>;
-					regulator-max-microvolt = <2150000>;
-				};
-
-				s7 {
-					regulator-min-microvolt = <1000000>;
-					regulator-max-microvolt = <1000000>;
-				};
-
-				l1 {
-					regulator-min-microvolt = <1000000>;
-					regulator-max-microvolt = <1000000>;
-				};
-
-				l2 {
-					regulator-min-microvolt = <1250000>;
-					regulator-max-microvolt = <1250000>;
-				};
-
-				l3 {
-					regulator-min-microvolt = <1200000>;
-					regulator-max-microvolt = <1200000>;
-				};
-
-				l4 {
-					regulator-min-microvolt = <1225000>;
-					regulator-max-microvolt = <1225000>;
-				};
-
-				l5 {
-					/* TODO */
-				};
-
-				l6 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-				};
-
-				l7 {
-					/* TODO */
-				};
-
-				l8 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-				};
-
-				l9 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-				};
-
-				l10 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-				};
-
-				l11 {
-					regulator-min-microvolt = <1200000>;
-					regulator-max-microvolt = <1200000>;
-					qcom,init-voltage = <1200000>;
-				};
-
-				l12 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-					proxy-supply = <&pm8994_l12>;
-					qcom,proxy-consumer-enable;
-					qcom,proxy-consumer-current = <10000>;
-					status = "okay";
-				};
-
-				l13 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <2950000>;
-					qcom,init-voltage = <2950000>;
-					status = "okay";
-				};
-
-				l14 {
-					regulator-min-microvolt = <1200000>;
-					regulator-max-microvolt = <1200000>;
-					qcom,init-voltage = <1200000>;
-					proxy-supply = <&pm8994_l14>;
-					qcom,proxy-consumer-enable;
-					qcom,proxy-consumer-current = <10000>;
-					status = "okay";
-				};
-
-				l15 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-					status = "okay";
-				};
-
-				l16 {
-					regulator-min-microvolt = <2700000>;
-					regulator-max-microvolt = <2700000>;
-					qcom,init-voltage = <2700000>;
-					status = "okay";
-				};
-
-				l17 {
-					regulator-min-microvolt = <2700000>;
-					regulator-max-microvolt = <2700000>;
-					qcom,init-voltage = <2700000>;
-					status = "okay";
-				};
-
-				l18 {
-					regulator-min-microvolt = <3000000>;
-					regulator-max-microvolt = <3000000>;
-					regulator-always-on;
-					qcom,init-voltage = <3000000>;
-					qcom,init-ldo-mode = <1>;
-				};
-
-				l19 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-					status = "okay";
-				};
-
-				l20 {
-					regulator-min-microvolt = <2950000>;
-					regulator-max-microvolt = <2950000>;
-					regulator-always-on;
-					regulator-boot-on;
-					regulator-allow-set-load;
-					regulator-system-load = <570000>;
-				};
-
-				l21 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-					qcom,init-voltage = <1800000>;
-				};
-
-				l22 {
-					regulator-min-microvolt = <3100000>;
-					regulator-max-microvolt = <3100000>;
-					qcom,init-voltage = <3100000>;
-				};
-
-				l23 {
-					regulator-min-microvolt = <2800000>;
-					regulator-max-microvolt = <2800000>;
-					qcom,init-voltage = <2800000>;
-				};
-
-				l24 {
-					regulator-min-microvolt = <3075000>;
-					regulator-max-microvolt = <3150000>;
-					qcom,init-voltage = <3075000>;
-				};
-
-				l25 {
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-				};
-
-				l26 {
-					/* TODO: value from downstream
-					regulator-min-microvolt = <987500>;
-					fails to apply */
-				};
-
-				l27 {
-					regulator-min-microvolt = <1050000>;
-					regulator-max-microvolt = <1050000>;
-					qcom,init-voltage = <1050000>;
-				};
-
-				l28 {
-					regulator-min-microvolt = <1000000>;
-					regulator-max-microvolt = <1000000>;
-					qcom,init-voltage = <1000000>;
-					proxy-supply = <&pm8994_l28>;
-					qcom,proxy-consumer-enable;
-					qcom,proxy-consumer-current = <10000>;
-				};
-
-				l29 {
-					/* TODO: Unsupported voltage range.
-					regulator-min-microvolt = <2800000>;
-					regulator-max-microvolt = <2800000>;
-					qcom,init-voltage = <2800000>;
-					*/
-				};
-
-				l30 {
-					/* TODO: get this verified
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-					*/
-				};
-
-				l31 {
-					regulator-min-microvolt = <1262500>;
-					regulator-max-microvolt = <1262500>;
-					qcom,init-voltage = <1262500>;
-				};
-
-				l32 {
-					/* TODO: get this verified
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					qcom,init-voltage = <1800000>;
-					*/
-				};
-			};
-		};
-	};
-};
-- 
2.27.0


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

* [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)
  2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (10 preceding siblings ...)
  2020-06-23 22:48 ` [PATCH v2 11/12] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
@ 2020-06-23 22:48 ` Konrad Dybcio
  2020-06-23 23:27   ` Bjorn Andersson
  11 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 22:48 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck,
	linux-arm-msm, devicetree, linux-kernel

Add device tree support for the Sony Xperia Z5 smartphone.
The kitakami part in DT name comes from Sony platform naming
and is there to indicate that as more Sony devices using msm8994
are added to the kernel, they will share a lot of common code.

The board currently supports
* Serial
* SDHCI
* I2C
* Regulator configuration
* pstore log dump
* GPIO keys

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../msm8994-sony-xperia-kitakami-sumire.dts   | 395 ++++++++++++++++++
 2 files changed, 396 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0f2c33d611df..01ca9ac9f905 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8916-samsung-a3u-eur.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8916-samsung-a5u-eur.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8992-bullhead-rev-101.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8994-angler-rev-101.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= msm8994-sony-xperia-kitakami-sumire.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8996-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-asus-novago-tp370ql.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-hp-envy-x2.dtb
diff --git a/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts b/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts
new file mode 100644
index 000000000000..e70d54ed7325
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts
@@ -0,0 +1,395 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Konrad Dybcio
+ */
+
+/dts-v1/;
+
+#include "msm8994.dtsi"
+#include "pm8994.dtsi"
+#include "pmi8994.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/gpio-keys.h>
+
+/ {
+	model = "Sony Xperia Z5";
+	compatible = "somc,sumire-row", "qcom,msm8994";
+	/* required for bootloader to select correct board */
+	qcom,msm-id = <0xcf 0x20001>;
+	qcom,pmic-id = <0x10009 0x1000a 0x00 0x00>;
+	qcom,board-id = <8 0>;
+
+	/* Xperia Z5's firmware doesn't support PSCI */
+	/delete-node/ psci;
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		input-name = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		autorepeat;
+
+		button@0 {
+			label = "Volume Down";
+			gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_VOLUMEDOWN>;
+			wakeup-source;
+			debounce-interval = <15>;
+		};
+
+		button@1 {
+			label = "Volume Up";
+			gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_VOLUMEUP>;
+			wakeup-source;
+			debounce-interval = <15>;
+		};
+
+		button@2 {
+			label = "Camera Snapshot";
+			gpios = <&pm8994_gpios 4 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_CAMERA>;
+			wakeup-source;
+			debounce-interval = <15>;
+		};
+
+		button@3 {
+			label = "Camera Focus";
+			gpios = <&pm8994_gpios 5 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_VOLUMEUP>;
+			wakeup-source;
+			debounce-interval = <15>;
+		};
+
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		/* This is for getting crash logs using Android downstream kernels */
+		ramoops@1fe00000 {
+			compatible = "ramoops";
+			reg = <0x0 0x1fe00000 0x0 0x200000>;
+			console-size = <0x100000>;
+			record-size = <0x10000>;
+			ftrace-size = <0x10000>;
+			pmsg-size = <0x80000>;
+		};
+
+		continuous_splash: framebuffer@3401000{
+			reg = <0x0 0x3401000 0x0 0x2200000>;
+			no-map;
+		};
+
+		dfps_data_mem: dfps_data_mem@3400000 {
+			reg = <0x0 0x3400000 0x0 0x1000>;
+			no-map;
+		};
+
+		peripheral_region: peripheral_region@7400000 {
+			reg = <0x0 0x7400000 0x0 0x1c00000>;
+			no-map;
+		};
+
+		modem_region: modem_region@9000000 {
+			reg = <0x0 0x9000000 0x0 0x5a00000>;
+			no-map;
+		};
+
+		tzapp: modem_region@ea00000 {
+			reg = <0x0 0xea00000 0x0 0x1900000>;
+			no-map;
+		};
+
+		fb_region: fb_region@40000000 {
+			reg = <0x00 0x40000000 0x00 0x1000000>;
+			no-map;
+		};
+	};
+};
+
+&blsp_spi0 {
+	status = "okay";
+
+	/* FPC fingerprint reader */
+};
+
+/* I2C1 is disabled on this board */
+
+&blsp_i2c2 {
+	status = "okay";
+
+	/* NXP NFC */
+};
+
+&blsp_i2c4 {
+	status = "okay";
+
+	/* Empty but active */
+};
+
+&blsp_i2c5 {
+	status = "okay";
+
+	/* SMB1357 charger and sii8620 HDMI/MHL bridge */
+};
+
+&blsp_i2c6 {
+	status = "okay";
+
+	/* Synaptics touchscreen */
+};
+
+&blsp1_uart2 {
+	status = "okay";
+};
+
+&blsp2_uart2 {
+	status = "okay";
+};
+
+&pm8994_regulators {
+	s1 {
+		/* Unused */
+		status = "disabled";
+	};
+
+	s2 {
+		/* Unused */
+		status = "disabled";
+	};
+
+	s3 {
+		regulator-min-microvolt = <1300000>;
+		regulator-max-microvolt = <1300000>;
+	};
+
+	s4 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	s5 {
+		regulator-min-microvolt = <2150000>;
+		regulator-max-microvolt = <2150000>;
+	};
+
+	s7 {
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+	};
+
+	l1 {
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+	};
+
+	l2 {
+		regulator-min-microvolt = <1250000>;
+		regulator-max-microvolt = <1250000>;
+	};
+
+	l3 {
+		regulator-min-microvolt = <1100000>;
+		regulator-max-microvolt = <1100000>;
+	};
+
+	l4 {
+		regulator-min-microvolt = <1225000>;
+		regulator-max-microvolt = <1225000>;
+	};
+
+	l5 {
+		/* Unused */
+		status = "disabled";
+	};
+
+	l6 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l7 {
+		/* Unused */
+		status = "disabled";
+	};
+
+	l8 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l9 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l10 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l11 {
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+	};
+
+	l12 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l13 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <2950000>;
+	};
+
+	l14 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l15 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l16 {
+		regulator-min-microvolt = <2700000>;
+		regulator-max-microvolt = <2700000>;
+	};
+
+	l17 {
+		regulator-min-microvolt = <2200000>;
+		regulator-max-microvolt = <2200000>;
+	};
+
+	l18 {
+		regulator-min-microvolt = <2850000>;
+		regulator-max-microvolt = <2850000>;
+		regulator-always-on;
+	};
+
+	l19 {
+		regulator-min-microvolt = <2850000>;
+		regulator-max-microvolt = <2850000>;
+	};
+
+	l20 {
+		regulator-min-microvolt = <2950000>;
+		regulator-max-microvolt = <2950000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	l21 {
+		regulator-min-microvolt = <2950000>;
+		regulator-max-microvolt = <2950000>;
+		regulator-always-on;
+	};
+
+	l22 {
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+	};
+
+	l23 {
+		regulator-min-microvolt = <2800000>;
+		regulator-max-microvolt = <2800000>;
+	};
+
+	l24 {
+		regulator-min-microvolt = <3075000>;
+		regulator-max-microvolt = <3150000>;
+	};
+
+	l25 {
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+	};
+
+	l26 {
+		regulator-min-microvolt = <987500>;
+		regulator-max-microvolt = <987500>;
+	};
+
+	l27 {
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+	};
+
+	l28 {
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+	};
+
+	l29 {
+		regulator-min-microvolt = <2700000>;
+		regulator-max-microvolt = <2700000>;
+	};
+
+	l30 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	l31 {
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		regulator-boot-on;
+	};
+
+	l32 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+	};
+
+	lvs1 {
+		/* Downstream sets it to enabled but
+		doesn't specify a voltage range */
+		status = "okay";
+	};
+
+	lvs2 {
+		/* Downstream sets it to enabled but
+		doesn't specify a voltage range */
+		status = "okay";
+	};
+};
+
+&pmi8994_regulators {
+	s1 {
+		regulator-min-microvolt = <1025000>;
+		regulator-max-microvolt = <1025000>;
+	};
+
+	s2 {
+		/* Unused */
+		status = "disabled";
+	};
+
+	boost-bypass {
+		regulator-min-microvolt = <3150000>;
+		regulator-max-microvolt = <3600000>;
+	};
+};
+
+&sdhc1 {
+	status = "okay";
+
+	/* Downstream pushes 2.95V to the sdhci device,
+	 * but upstream driver REALLY wants to make vmmc 1.8v
+	 * cause of the hs400-1_8v mode. MMC works fine without
+	 * that regulator, so let's not use it for now.
+	 * vqmmc is also disabled cause driver stll complains.
+	 *
+	 * vmmc-supply = <&pm8994_l20>;
+	 * vqmmc-supply = <&pm8994_s4>;
+	 */
+};
-- 
2.27.0


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

* Re: [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style
  2020-06-23 22:48 ` [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style Konrad Dybcio
@ 2020-06-23 23:04   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:04 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:
[..]
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
[..]
> +	timer {
> +		compatible = "arm,armv8-timer";
> +		interrupts = <1 2 0xff08>,
> +					<1 3 0xff08>,
> +					<1 4 0xff08>,
> +					<1 1 0xff08>;

Indentation is off here and these are supposed to be GIC_PPI. So I fixed
this and applied the patch.

Thanks,
Bjorn

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

* Re: [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM
  2020-06-23 22:48 ` [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
@ 2020-06-23 23:15   ` Bjorn Andersson
  2020-06-23 23:34     ` Konrad Dybcio
  0 siblings, 1 reply; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:15 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add support for SMD RPM, including pm8994 and pmi8994
> regulators.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 111 ++++++++++++++++++++++++++
>  1 file changed, 111 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index e7f4b06eb12c..a4edc3be7024 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -159,9 +159,100 @@ smem_mem: smem_region@6a00000 {
>  		};
>  	};
>  
> +	smd {
> +		compatible = "qcom,smd";
> +		rpm {
> +			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
> +			qcom,ipc = <&apcs 8 0>;

Can you please extend qcom-apcs-ipc-mailbox and its binding to add
MSM8994 and use mboxes = <&apcs 0>; here instead?

I do see that while I added this support a few years ago I migrated some
of the remoteproc edges, but never any of the RPM ones. But it should
work...

> +			qcom,smd-edge = <15>;
> +			qcom,local-pid = <0>;
> +			qcom,remote-pid = <6>;
> +
> +			rpm-requests {
> +				compatible = "qcom,rpm-msm8994";
> +				qcom,smd-channels = "rpm_requests";
> +
> +				rpmcc: rpmcc {
> +					compatible = "qcom,rpmcc-msm8994";
> +					#clock-cells = <1>;
> +				};
> +
> +				pm8994_regulators: pm8994-regulators {

We've learned from experience that PMICs, naming of regulators and their
routing are board specific (or at least OEM specific).

So please give rpm-requests a label and add pm8994-regulators and
pmi8994-regulators to it in the board (your case platform) dts(i).

Regards,
Bjorn

> +					compatible = "qcom,rpm-pm8994-regulators";
> +					vdd_l1-supply = <&pm8994_s1>;
> +					vdd_l2_26_28-supply = <&pm8994_s3>;
> +					vdd_l3_11-supply = <&pm8994_s3>;
> +					vdd_l4_27_31-supply = <&pm8994_s3>;
> +					vdd_l5_7-supply = <&pm8994_s3>;
> +					vdd_l6_12_32-supply = <&pm8994_s5>;
> +					vdd_l8_16_30-supply = <&vreg_vph_pwr>;
> +					vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
> +					vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
> +					vdd_l14_15-supply = <&pm8994_s5>;
> +					vdd_l17_29-supply = <&vreg_vph_pwr>;
> +					vdd_l20_21-supply = <&vreg_vph_pwr>;
> +					vdd_l25-supply = <&pm8994_s5>;
> +					vdd_lvs1_2 = <&pm8994_s4>;
> +
> +					pm8994_s1: s1 {};
> +					pm8994_s2: s2 {};
> +					pm8994_s3: s3 {};
> +					pm8994_s4: s4 {};
> +					pm8994_s5: s5 {};
> +					pm8994_s6: s6 {};
> +					pm8994_s7: s7 {};
> +
> +					pm8994_l1: l1 {};
> +					pm8994_l2: l2 {};
> +					pm8994_l3: l3 {};
> +					pm8994_l4: l4 {};
> +					pm8994_l6: l6 {};
> +					pm8994_l8: l8 {};
> +					pm8994_l9: l9 {};
> +					pm8994_l10: l10 {};
> +					pm8994_l11: l11 {};
> +					pm8994_l12: l12 {};
> +					pm8994_l13: l13 {};
> +					pm8994_l14: l14 {};
> +					pm8994_l15: l15 {};
> +					pm8994_l16: l16 {};
> +					pm8994_l17: l17 {};
> +					pm8994_l18: l18 {};
> +					pm8994_l19: l19 {};
> +					pm8994_l20: l20 {};
> +					pm8994_l21: l21 {};
> +					pm8994_l22: l22 {};
> +					pm8994_l23: l23 {};
> +					pm8994_l24: l24 {};
> +					pm8994_l25: l25 {};
> +					pm8994_l26: l26 {};
> +					pm8994_l27: l27 {};
> +					pm8994_l28: l28 {};
> +					pm8994_l29: l29 {};
> +					pm8994_l30: l30 {};
> +					pm8994_l31: l31 {};
> +					pm8994_l32: l32 {};
> +
> +					pm8994_lvs1: lvs1 {};
> +					pm8994_lvs2: lvs2 {};
> +				};
> +
> +				pmi8994_regulators: pmi8994-regulators {
> +					compatible = "qcom,rpm-pmi8994-regulators";
> +
> +					pmi8994_s1: s1 {};
> +					pmi8994_s2: s2 {};
> +					pmi8994_s3: s3 {};
> +					pmi8994_bby: boost-bypass {};
> +				};
> +			};
> +		};
> +	};
> +
>  	smem {
>  		compatible = "qcom,smem";
>  		memory-region = <&smem_mem>;
> +		qcom,rpm-msg-ram = <&rpm_msg_ram>;
>  		hwlocks = <&tcsr_mutex 3>;
>  	};
>  
> @@ -180,6 +271,11 @@ intc: interrupt-controller@f9000000 {
>  				  <0xf9002000 0x1000>;
>  		};
>  
> +		apcs: syscon@f900d000 {
> +			compatible = "syscon";
> +			reg = <0xf900d000 0x2000>;
> +		};
> +
>  		timer@f9020000 {
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> @@ -256,6 +352,11 @@ gcc: clock-controller@fc400000 {
>  			reg = <0xfc400000 0x2000>;
>  		};
>  
> +		rpm_msg_ram: memory@fc428000 {
> +			compatible = "qcom,rpm-msg-ram";
> +			reg = <0xfc428000 0x4000>;
> +		};
> +
>  		restart@fc4ab000 {
>  			compatible = "qcom,pshold";
>  			reg = <0xfc4ab000 0x4>;
> @@ -473,5 +574,15 @@ timer {
>  					<1 4 0xff08>,
>  					<1 1 0xff08>;
>  	};
> +
> +	vreg_vph_pwr: vreg-vph-pwr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vph-pwr";
> +
> +		regulator-min-microvolt = <3600000>;
> +		regulator-max-microvolt = <3600000>;
> +
> +		regulator-always-on;
> +	};
>  };
>  
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 02/12] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device
  2020-06-23 22:48 ` [PATCH v2 02/12] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
@ 2020-06-23 23:15   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:15 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add SPMI PMIC arbiter device to communicate with PMICs
> attached to SPMI bus.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Applied, thanks

> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index 79e6e46798c8..23e50c30669b 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -169,6 +169,22 @@ restart@fc4ab000 {
>  			reg = <0xfc4ab000 0x4>;
>  		};
>  
> +		spmi_bus: spmi@fc4c0000 {
> +			compatible = "qcom,spmi-pmic-arb";
> +			reg = <0xfc4cf000 0x1000>,
> +			      <0xfc4cb000 0x1000>,
> +			      <0xfc4ca000 0x1000>;
> +			reg-names = "core", "intr", "cnfg";
> +			interrupt-names = "periph_irq";
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
> +			qcom,ee = <0>;
> +			qcom,channel = <0>;
> +			#address-cells = <2>;
> +			#size-cells = <0>;
> +			interrupt-controller;
> +			#interrupt-cells = <4>;
> +		};
> +
>  		tcsr_mutex_regs: syscon@fd484000 {
>  			compatible = "syscon";
>  			reg = <0xfd484000 0x2000>;
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 03/12] arm64: dts: qcom: msm8994: Add a proper CPU map
  2020-06-23 22:48 ` [PATCH v2 03/12] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
@ 2020-06-23 23:16   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:16 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add a proper CPU map to enable the use of all 8 cores.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Applied, thanks

> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 112 +++++++++++++++++++++++---
>  1 file changed, 102 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index 23e50c30669b..e7f4b06eb12c 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -28,24 +28,116 @@ sleep_clk: sleep_clk {
>  	};
>  
>  	cpus {
> -		#address-cells = <1>;
> +		#address-cells = <2>;
>  		#size-cells = <0>;
> +
> +		CPU0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a53";
> +			reg = <0x0 0x0>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_0>;
> +			L2_0: l2-cache {
> +				compatible = "cache";
> +				cache-level = <2>;
> +			};
> +		};
> +
> +		CPU1: cpu@1 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a53";
> +			reg = <0x0 0x1>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_0>;
> +		};
> +
> +		CPU2: cpu@2 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a53";
> +			reg = <0x0 0x2>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_0>;
> +		};
> +
> +		CPU3: cpu@3 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a53";
> +			reg = <0x0 0x3>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_0>;
> +		};
> +
> +		CPU4: cpu@100 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a57";
> +			reg = <0x0 0x100>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_1>;
> +			L2_1: l2-cache {
> +				compatible = "cache";
> +				cache-level = <2>;
> +			};
> +		};
> +
> +		CPU5: cpu@101 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a57";
> +			reg = <0x0 0x101>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_1>;
> +		};
> +
> +		CPU6: cpu@102 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a57";
> +			reg = <0x0 0x101>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_1>;
> +		};
> +
> +		CPU7: cpu@103 {
> +			device_type = "cpu";
> +			compatible = "arm,cortex-a57";
> +			reg = <0x0 0x101>;
> +			enable-method = "psci";
> +			next-level-cache = <&L2_1>;
> +		};
> +
>  		cpu-map {
>  			cluster0 {
>  				core0 {
>  					cpu = <&CPU0>;
>  				};
> +
> +				core1 {
> +					cpu = <&CPU1>;
> +				};
> +
> +				core2 {
> +					cpu = <&CPU2>;
> +				};
> +
> +				core3 {
> +					cpu = <&CPU3>;
> +				};
>  			};
> -		};
>  
> -		CPU0: cpu@0 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a53";
> -			reg = <0x0>;
> -			next-level-cache = <&L2_0>;
> -			L2_0: l2-cache {
> -			      compatible = "cache";
> -			      cache-level = <2>;
> +			cluster1 {
> +				core0 {
> +					cpu = <&CPU4>;
> +				};
> +
> +				core1 {
> +					cpu = <&CPU5>;
> +				};
> +
> +				core2 {
> +					cpu = <&CPU6>;
> +				};
> +
> +				core3 {
> +					cpu = <&CPU7>;
> +				};
>  			};
>  		};
>  	};
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 05/12] arm64: dts: qcom: msm8994: Add SDHCI1 node
  2020-06-23 22:48 ` [PATCH v2 05/12] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
@ 2020-06-23 23:17   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:17 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Enable support for SDHCI on msm8994-based devices.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Fixed up the indentations and applied the patch, thanks.

> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index a4edc3be7024..f989530ffa90 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -334,6 +334,31 @@ frame@f9028000 {
>  			};
>  		};
>  
> +		sdhc1: sdhci@f9824900 {
> +			compatible = "qcom,sdhci-msm-v4";
> +			reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>;
> +			reg-names = "hc_mem", "core_mem";
> +
> +			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
> +					<GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "hc_irq", "pwr_irq";
> +
> +			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
> +				<&gcc GCC_SDCC1_AHB_CLK>,
> +				<&xo_board>;
> +			clock-names = "core", "iface", "xo";
> +
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on
> +							&sdc1_rclk_on>;
> +			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off
> +							&sdc1_rclk_off>;
> +
> +			bus-width = <8>;
> +			non-removable;
> +			status = "disabled";
> +		};
> +
>  		blsp1_uart2: serial@f991e000 {
>  			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
>  			reg = <0xf991e000 0x1000>;
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node
  2020-06-23 22:48 ` [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
@ 2020-06-23 23:19   ` Bjorn Andersson
  2020-06-23 23:30     ` Konrad Dybcio
  0 siblings, 1 reply; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:19 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index f989530ffa90..838ffc0d9c16 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -142,6 +142,12 @@ core3 {
>  		};
>  	};
>  
> +	firmware {
> +		scm {
> +			compatible = "qcom,scm-msm8992";

Shouldn't this be "qcom,scm-msm8992", "qcom,scm" ?

(Or rather "qcom,scm-msm8994", "qcom,scm")

Regards,
Bjorn

> +		};
> +	};
> +
>  	memory {
>  		device_type = "memory";
>  		/* We expect the bootloader to fill in the reg */
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 07/12] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes
  2020-06-23 22:48 ` [PATCH v2 07/12] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
@ 2020-06-23 23:21   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:21 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add support for I2C and SPI buses to enable peripherals
> such as touchscreens or sensors. Also add DMA nodes,
> configuration and BLSP2 UART2 interface.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Applied, thanks

> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 156 +++++++++++++++++++++++++-
>  1 file changed, 155 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index 838ffc0d9c16..8af01ebe73f7 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -365,14 +365,168 @@ sdhc1: sdhci@f9824900 {
>  			status = "disabled";
>  		};
>  
> +		blsp1_dma: dma@f9904000 {
> +			compatible = "qcom,bam-v1.7.0";
> +			reg = <0xf9904000 0x19000>;
> +			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
> +			clock-names = "bam_clk";
> +			#dma-cells = <1>;
> +			qcom,ee = <0>;
> +			qcom,controlled-remotely;
> +			num-channels = <18>;
> +			qcom,num-ees = <4>;
> +		};
> +
>  		blsp1_uart2: serial@f991e000 {
>  			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
>  			reg = <0xf991e000 0x1000>;
>  			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
> -			status = "disabled";
>  			clock-names = "core", "iface";
>  			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
>  				 <&gcc GCC_BLSP1_AHB_CLK>;
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&blsp1_uart2_default>;
> +			pinctrl-1 = <&blsp1_uart2_sleep>;
> +			status = "disabled";
> +		};
> +
> +		blsp_i2c1: i2c@f9923000 {
> +			compatible = "qcom,i2c-qup-v2.2.1";
> +			reg = <0xf9923000 0x500>;
> +			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
> +						<&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
> +			clock-names = "iface", "core";
> +			clock-frequency = <400000>;
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&i2c1_default>;
> +			pinctrl-1 = <&i2c1_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		blsp_spi0: spi@f9923000 {
> +			compatible = "qcom,spi-qup-v2.2.1";
> +			reg = <0xf9923000 0x500>;
> +			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
> +				 <&gcc GCC_BLSP1_AHB_CLK>;
> +			clock-names = "core", "iface";
> +			spi-max-frequency = <19200000>;
> +			dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
> +			dma-names = "tx", "rx";
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&blsp1_spi0_default>;
> +			pinctrl-1 = <&blsp1_spi0_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		blsp_i2c2: i2c@f9924000 {
> +			compatible = "qcom,i2c-qup-v2.2.1";
> +			reg = <0xf9924000 0x500>;
> +			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
> +						<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
> +			clock-names = "iface", "core";
> +			clock-frequency = <355000>;
> +			dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
> +			dma-names = "tx", "rx";
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&i2c2_default>;
> +			pinctrl-1 = <&i2c2_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		/* I2C3 doesn't exist */
> +
> +		blsp_i2c4: i2c@f9926000 {
> +			compatible = "qcom,i2c-qup-v2.2.1";
> +			reg = <0xf9926000 0x500>;
> +			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
> +						<&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
> +			clock-names = "iface", "core";
> +			clock-frequency = <355000>;
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&i2c4_default>;
> +			pinctrl-1 = <&i2c4_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		blsp2_dma: dma@f9944000 {
> +			compatible = "qcom,bam-v1.7.0";
> +			reg = <0xf9944000 0x19000>;
> +			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
> +			clock-names = "bam_clk";
> +			#dma-cells = <1>;
> +			qcom,ee = <0>;
> +			qcom,controlled-remotely;
> +			num-channels = <18>;
> +			qcom,num-ees = <4>;
> +		};
> +
> +		/* According to downstream kernels, i2c6
> +		 * comes before i2c5 address-wise...
> +		 */
> +
> +		blsp_i2c6: i2c@f9928000 {
> +			compatible = "qcom,i2c-qup-v2.2.1";
> +			reg = <0xf9928000 0x500>;
> +			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
> +						<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
> +			clock-names = "iface", "core";
> +			clock-frequency = <355000>;
> +			dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
> +			dma-names = "tx", "rx";
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&i2c6_default>;
> +			pinctrl-1 = <&i2c6_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
> +		blsp2_uart2: serial@f995e000 {
> +			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
> +			reg = <0xf995e000 0x1000>;
> +			interrupts = <GIC_SPI 146 IRQ_TYPE_EDGE_FALLING>;
> +			clock-names = "core", "iface";
> +			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
> +					<&gcc GCC_BLSP2_AHB_CLK>;
> +			dmas = <&blsp2_dma 2>, <&blsp2_dma 3>;
> +			dma-names = "tx", "rx";
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&blsp2_uart2_default>;
> +			pinctrl-1 = <&blsp2_uart2_sleep>;
> +			status = "disabled";
> +		};
> +
> +		blsp_i2c5: i2c@f9967000 {
> +			compatible = "qcom,i2c-qup-v2.2.1";
> +			reg = <0xf9967000 0x500>;
> +			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
> +						<&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
> +			clock-names = "iface", "core";
> +			clock-frequency = <355000>;
> +			dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
> +			dma-names = "tx", "rx";
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&i2c5_default>;
> +			pinctrl-1 = <&i2c5_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
>  		};
>  
>  		gcc: clock-controller@fc400000 {
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 08/12] arm64: dts: qcom: msm8994: Add pmu node
  2020-06-23 22:48 ` [PATCH v2 08/12] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
@ 2020-06-23 23:22   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:22 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add the CPU PMU to get perf support for hardware events.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Applied, thanks.

> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index 8af01ebe73f7..b3c01ebc5c67 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -154,6 +154,11 @@ memory {
>  		reg = <0 0 0 0>;
>  	};
>  
> +	pmu {
> +		compatible = "arm,cortex-a53-pmu";
> +		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
> +	};
> +
>  	reserved-memory {
>  		#address-cells = <2>;
>  		#size-cells = <2>;
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 09/12] arm64: dts: qcom: msm8994: Add PSCI node
  2020-06-23 22:48 ` [PATCH v2 09/12] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
@ 2020-06-23 23:22   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:22 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add PSCI node to enable multi-processor startup.
> 
> Note that not every 8994 device firmware supports PSCI,
> and even if, then it can only start the cores and not
> shut them down.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Applied, thanks.

> ---
>  arch/arm64/boot/dts/qcom/msm8994.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index b3c01ebc5c67..9eec8ab6bf2c 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -159,6 +159,11 @@ pmu {
>  		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
>  	};
>  
> +	psci {
> +		compatible = "arm,psci-0.2";
> +		method = "hvc";
> +	};
> +
>  	reserved-memory {
>  		#address-cells = <2>;
>  		#size-cells = <2>;
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 10/12] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id
  2020-06-23 22:48 ` [PATCH v2 10/12] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
@ 2020-06-23 23:23   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:23 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> Add properties required for the bootloader to select
> the correct bootloader blob. They have been removed from
> the SoC device tree as they should be set on a per-device
> basis.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Applied, thanks.

> ---
>  arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
> index a5f9a6ab512c..baa55643b40f 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
> @@ -11,6 +11,8 @@ / {
>  	model = "Huawei Nexus 6P";
>  	compatible = "huawei,angler", "qcom,msm8994";
>  	/* required for bootloader to select correct board */
> +	qcom,msm-id = <207 0x20000>;
> +	qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>;
>  	qcom,board-id = <8026 0>;
>  
>  	aliases {
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 11/12] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead.
  2020-06-23 22:48 ` [PATCH v2 11/12] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
@ 2020-06-23 23:24   ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:24 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:

> This was the only device using that dtsi, so no point
> keeping it separate AND with a confusing name (bullhead
> is based on msm8992 and the file contains regulator
> values for that specific board).
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
> ---
>  .../dts/qcom/msm8992-bullhead-rev-101.dts     | 264 ++++++++++++++++-
>  arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi | 268 ------------------
>  2 files changed, 263 insertions(+), 269 deletions(-)
>  delete mode 100644 arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts
> index 32670d5afdd6..893fc5b8fc34 100644
> --- a/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts
> @@ -47,4 +47,266 @@ ramoops@1ff00000 {
>  	};
>  };
>  
> -#include "msm8994-smd-rpm.dtsi"
> +&smd_rpm {
> +	rpm {
> +		rpm_requests {

Per my request on the earlier regulator patch, please leave
msm8992/msm8994.dtsi without any regulators defined (clocks and rpmpd is
fine) and then add them here to &rpm_requests.o

I.e. pretty much what you're doing here, but remove two indentation
levels and add compatible and labels to these regulators.

Regards,
Bjorn

> +			pm8994-regulators {
> +
> +				vdd_l1-supply = <&pm8994_s1>;
> +				vdd_l2_26_28-supply = <&pm8994_s3>;
> +				vdd_l3_11-supply = <&pm8994_s3>;
> +				vdd_l4_27_31-supply = <&pm8994_s3>;
> +				vdd_l5_7-supply = <&pm8994_s3>;
> +				vdd_l6_12_32-supply = <&pm8994_s5>;
> +				vdd_l8_16_30-supply = <&vreg_vph_pwr>;
> +				vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
> +				vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
> +				vdd_l14_15-supply = <&pm8994_s5>;
> +				vdd_l17_29-supply = <&vreg_vph_pwr>;
> +				vdd_l20_21-supply = <&vreg_vph_pwr>;
> +				vdd_l25-supply = <&pm8994_s5>;
> +				vdd_lvs1_2 = <&pm8994_s4>;
> +
> +				s1 {
> +					regulator-min-microvolt = <800000>;
> +					regulator-max-microvolt = <800000>;
> +				};
> +
> +				s2 {
> +					/* TODO */
> +				};
> +
> +				s3 {
> +					regulator-min-microvolt = <1300000>;
> +					regulator-max-microvolt = <1300000>;
> +				};
> +
> +				s4 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					regulator-allow-set-load;
> +					regulator-system-load = <325000>;
> +				};
> +
> +				s5 {
> +					regulator-min-microvolt = <2150000>;
> +					regulator-max-microvolt = <2150000>;
> +				};
> +
> +				s7 {
> +					regulator-min-microvolt = <1000000>;
> +					regulator-max-microvolt = <1000000>;
> +				};
> +
> +				l1 {
> +					regulator-min-microvolt = <1000000>;
> +					regulator-max-microvolt = <1000000>;
> +				};
> +
> +				l2 {
> +					regulator-min-microvolt = <1250000>;
> +					regulator-max-microvolt = <1250000>;
> +				};
> +
> +				l3 {
> +					regulator-min-microvolt = <1200000>;
> +					regulator-max-microvolt = <1200000>;
> +				};
> +
> +				l4 {
> +					regulator-min-microvolt = <1225000>;
> +					regulator-max-microvolt = <1225000>;
> +				};
> +
> +				l5 {
> +					/* TODO */
> +				};
> +
> +				l6 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +				};
> +
> +				l7 {
> +					/* TODO */
> +				};
> +
> +				l8 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +				};
> +
> +				l9 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +				};
> +
> +				l10 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +				};
> +
> +				l11 {
> +					regulator-min-microvolt = <1200000>;
> +					regulator-max-microvolt = <1200000>;
> +					qcom,init-voltage = <1200000>;
> +				};
> +
> +				l12 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +					proxy-supply = <&pm8994_l12>;
> +					qcom,proxy-consumer-enable;
> +					qcom,proxy-consumer-current = <10000>;
> +					status = "okay";
> +				};
> +
> +				l13 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <2950000>;
> +					qcom,init-voltage = <2950000>;
> +					status = "okay";
> +				};
> +
> +				l14 {
> +					regulator-min-microvolt = <1200000>;
> +					regulator-max-microvolt = <1200000>;
> +					qcom,init-voltage = <1200000>;
> +					proxy-supply = <&pm8994_l14>;
> +					qcom,proxy-consumer-enable;
> +					qcom,proxy-consumer-current = <10000>;
> +					status = "okay";
> +				};
> +
> +				l15 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +					status = "okay";
> +				};
> +
> +				l16 {
> +					regulator-min-microvolt = <2700000>;
> +					regulator-max-microvolt = <2700000>;
> +					qcom,init-voltage = <2700000>;
> +					status = "okay";
> +				};
> +
> +				l17 {
> +					regulator-min-microvolt = <2700000>;
> +					regulator-max-microvolt = <2700000>;
> +					qcom,init-voltage = <2700000>;
> +					status = "okay";
> +				};
> +
> +				l18 {
> +					regulator-min-microvolt = <3000000>;
> +					regulator-max-microvolt = <3000000>;
> +					regulator-always-on;
> +					qcom,init-voltage = <3000000>;
> +					qcom,init-ldo-mode = <1>;
> +				};
> +
> +				l19 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +					status = "okay";
> +				};
> +
> +				l20 {
> +					regulator-min-microvolt = <2950000>;
> +					regulator-max-microvolt = <2950000>;
> +					regulator-always-on;
> +					regulator-boot-on;
> +					regulator-allow-set-load;
> +					regulator-system-load = <570000>;
> +				};
> +
> +				l21 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					regulator-always-on;
> +					qcom,init-voltage = <1800000>;
> +				};
> +
> +				l22 {
> +					regulator-min-microvolt = <3100000>;
> +					regulator-max-microvolt = <3100000>;
> +					qcom,init-voltage = <3100000>;
> +				};
> +
> +				l23 {
> +					regulator-min-microvolt = <2800000>;
> +					regulator-max-microvolt = <2800000>;
> +					qcom,init-voltage = <2800000>;
> +				};
> +
> +				l24 {
> +					regulator-min-microvolt = <3075000>;
> +					regulator-max-microvolt = <3150000>;
> +					qcom,init-voltage = <3075000>;
> +				};
> +
> +				l25 {
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +				};
> +
> +				l26 {
> +					/* TODO: value from downstream
> +					regulator-min-microvolt = <987500>;
> +					fails to apply */
> +				};
> +
> +				l27 {
> +					regulator-min-microvolt = <1050000>;
> +					regulator-max-microvolt = <1050000>;
> +					qcom,init-voltage = <1050000>;
> +				};
> +
> +				l28 {
> +					regulator-min-microvolt = <1000000>;
> +					regulator-max-microvolt = <1000000>;
> +					qcom,init-voltage = <1000000>;
> +					proxy-supply = <&pm8994_l28>;
> +					qcom,proxy-consumer-enable;
> +					qcom,proxy-consumer-current = <10000>;
> +				};
> +
> +				l29 {
> +					/* TODO: Unsupported voltage range.
> +					regulator-min-microvolt = <2800000>;
> +					regulator-max-microvolt = <2800000>;
> +					qcom,init-voltage = <2800000>;
> +					*/
> +				};
> +
> +				l30 {
> +					/* TODO: get this verified
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +					*/
> +				};
> +
> +				l31 {
> +					regulator-min-microvolt = <1262500>;
> +					regulator-max-microvolt = <1262500>;
> +					qcom,init-voltage = <1262500>;
> +				};
> +
> +				l32 {
> +					/* TODO: get this verified
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <1800000>;
> +					qcom,init-voltage = <1800000>;
> +					*/
> +				};
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi b/arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi
> deleted file mode 100644
> index 31e3eb6ab515..000000000000
> --- a/arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi
> +++ /dev/null
> @@ -1,268 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/* Copyright (c) 2015, LGE Inc. All rights reserved.
> - * Copyright (c) 2016, The Linux Foundation. All rights reserved.
> - */
> -
> -&smd_rpm {
> -	rpm {
> -		rpm_requests {
> -			pm8994-regulators {
> -
> -				vdd_l1-supply = <&pm8994_s1>;
> -				vdd_l2_26_28-supply = <&pm8994_s3>;
> -				vdd_l3_11-supply = <&pm8994_s3>;
> -				vdd_l4_27_31-supply = <&pm8994_s3>;
> -				vdd_l5_7-supply = <&pm8994_s3>;
> -				vdd_l6_12_32-supply = <&pm8994_s5>;
> -				vdd_l8_16_30-supply = <&vreg_vph_pwr>;
> -				vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
> -				vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
> -				vdd_l14_15-supply = <&pm8994_s5>;
> -				vdd_l17_29-supply = <&vreg_vph_pwr>;
> -				vdd_l20_21-supply = <&vreg_vph_pwr>;
> -				vdd_l25-supply = <&pm8994_s5>;
> -				vdd_lvs1_2 = <&pm8994_s4>;
> -
> -				s1 {
> -					regulator-min-microvolt = <800000>;
> -					regulator-max-microvolt = <800000>;
> -				};
> -
> -				s2 {
> -					/* TODO */
> -				};
> -
> -				s3 {
> -					regulator-min-microvolt = <1300000>;
> -					regulator-max-microvolt = <1300000>;
> -				};
> -
> -				s4 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-allow-set-load;
> -					regulator-system-load = <325000>;
> -				};
> -
> -				s5 {
> -					regulator-min-microvolt = <2150000>;
> -					regulator-max-microvolt = <2150000>;
> -				};
> -
> -				s7 {
> -					regulator-min-microvolt = <1000000>;
> -					regulator-max-microvolt = <1000000>;
> -				};
> -
> -				l1 {
> -					regulator-min-microvolt = <1000000>;
> -					regulator-max-microvolt = <1000000>;
> -				};
> -
> -				l2 {
> -					regulator-min-microvolt = <1250000>;
> -					regulator-max-microvolt = <1250000>;
> -				};
> -
> -				l3 {
> -					regulator-min-microvolt = <1200000>;
> -					regulator-max-microvolt = <1200000>;
> -				};
> -
> -				l4 {
> -					regulator-min-microvolt = <1225000>;
> -					regulator-max-microvolt = <1225000>;
> -				};
> -
> -				l5 {
> -					/* TODO */
> -				};
> -
> -				l6 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -				};
> -
> -				l7 {
> -					/* TODO */
> -				};
> -
> -				l8 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -				};
> -
> -				l9 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -				};
> -
> -				l10 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -				};
> -
> -				l11 {
> -					regulator-min-microvolt = <1200000>;
> -					regulator-max-microvolt = <1200000>;
> -					qcom,init-voltage = <1200000>;
> -				};
> -
> -				l12 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -					proxy-supply = <&pm8994_l12>;
> -					qcom,proxy-consumer-enable;
> -					qcom,proxy-consumer-current = <10000>;
> -					status = "okay";
> -				};
> -
> -				l13 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <2950000>;
> -					qcom,init-voltage = <2950000>;
> -					status = "okay";
> -				};
> -
> -				l14 {
> -					regulator-min-microvolt = <1200000>;
> -					regulator-max-microvolt = <1200000>;
> -					qcom,init-voltage = <1200000>;
> -					proxy-supply = <&pm8994_l14>;
> -					qcom,proxy-consumer-enable;
> -					qcom,proxy-consumer-current = <10000>;
> -					status = "okay";
> -				};
> -
> -				l15 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -					status = "okay";
> -				};
> -
> -				l16 {
> -					regulator-min-microvolt = <2700000>;
> -					regulator-max-microvolt = <2700000>;
> -					qcom,init-voltage = <2700000>;
> -					status = "okay";
> -				};
> -
> -				l17 {
> -					regulator-min-microvolt = <2700000>;
> -					regulator-max-microvolt = <2700000>;
> -					qcom,init-voltage = <2700000>;
> -					status = "okay";
> -				};
> -
> -				l18 {
> -					regulator-min-microvolt = <3000000>;
> -					regulator-max-microvolt = <3000000>;
> -					regulator-always-on;
> -					qcom,init-voltage = <3000000>;
> -					qcom,init-ldo-mode = <1>;
> -				};
> -
> -				l19 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -					status = "okay";
> -				};
> -
> -				l20 {
> -					regulator-min-microvolt = <2950000>;
> -					regulator-max-microvolt = <2950000>;
> -					regulator-always-on;
> -					regulator-boot-on;
> -					regulator-allow-set-load;
> -					regulator-system-load = <570000>;
> -				};
> -
> -				l21 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -					qcom,init-voltage = <1800000>;
> -				};
> -
> -				l22 {
> -					regulator-min-microvolt = <3100000>;
> -					regulator-max-microvolt = <3100000>;
> -					qcom,init-voltage = <3100000>;
> -				};
> -
> -				l23 {
> -					regulator-min-microvolt = <2800000>;
> -					regulator-max-microvolt = <2800000>;
> -					qcom,init-voltage = <2800000>;
> -				};
> -
> -				l24 {
> -					regulator-min-microvolt = <3075000>;
> -					regulator-max-microvolt = <3150000>;
> -					qcom,init-voltage = <3075000>;
> -				};
> -
> -				l25 {
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -				};
> -
> -				l26 {
> -					/* TODO: value from downstream
> -					regulator-min-microvolt = <987500>;
> -					fails to apply */
> -				};
> -
> -				l27 {
> -					regulator-min-microvolt = <1050000>;
> -					regulator-max-microvolt = <1050000>;
> -					qcom,init-voltage = <1050000>;
> -				};
> -
> -				l28 {
> -					regulator-min-microvolt = <1000000>;
> -					regulator-max-microvolt = <1000000>;
> -					qcom,init-voltage = <1000000>;
> -					proxy-supply = <&pm8994_l28>;
> -					qcom,proxy-consumer-enable;
> -					qcom,proxy-consumer-current = <10000>;
> -				};
> -
> -				l29 {
> -					/* TODO: Unsupported voltage range.
> -					regulator-min-microvolt = <2800000>;
> -					regulator-max-microvolt = <2800000>;
> -					qcom,init-voltage = <2800000>;
> -					*/
> -				};
> -
> -				l30 {
> -					/* TODO: get this verified
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -					*/
> -				};
> -
> -				l31 {
> -					regulator-min-microvolt = <1262500>;
> -					regulator-max-microvolt = <1262500>;
> -					qcom,init-voltage = <1262500>;
> -				};
> -
> -				l32 {
> -					/* TODO: get this verified
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					qcom,init-voltage = <1800000>;
> -					*/
> -				};
> -			};
> -		};
> -	};
> -};
> -- 
> 2.27.0
> 

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

* Re: [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)
  2020-06-23 22:48 ` [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
@ 2020-06-23 23:27   ` Bjorn Andersson
  2020-06-24 14:44     ` Konrad Dybcio
  0 siblings, 1 reply; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-23 23:27 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, devicetree, linux-kernel

On Tue 23 Jun 15:48 PDT 2020, Konrad Dybcio wrote:
> diff --git a/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts b/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts
> new file mode 100644
> index 000000000000..e70d54ed7325
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts
> @@ -0,0 +1,395 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2020, Konrad Dybcio
> + */
> +
> +/dts-v1/;
> +
> +#include "msm8994.dtsi"
> +#include "pm8994.dtsi"
> +#include "pmi8994.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/gpio-keys.h>
> +
> +/ {
> +	model = "Sony Xperia Z5";
> +	compatible = "somc,sumire-row", "qcom,msm8994";
> +	/* required for bootloader to select correct board */
> +	qcom,msm-id = <0xcf 0x20001>;
> +	qcom,pmic-id = <0x10009 0x1000a 0x00 0x00>;
> +	qcom,board-id = <8 0>;
> +
> +	/* Xperia Z5's firmware doesn't support PSCI */
> +	/delete-node/ psci;

This does worry me...

[..]
> +&pm8994_regulators {

Per earlier patches, please update the way regulators are described.

Regards,
Bjorn

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

* Re: [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node
  2020-06-23 23:19   ` Bjorn Andersson
@ 2020-06-23 23:30     ` Konrad Dybcio
  2020-06-24  7:29       ` Bjorn Andersson
  0 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 23:30 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, DTML,
	Linux Kernel Mailing List

>Shouldn't this be "qcom,scm-msm8992", "qcom,scm" ?
>
>(Or rather "qcom,scm-msm8994", "qcom,scm")

Some DTs only have the SoC-specific one, and some also
have the generic one. But I can add the generic one if
you wish.

I went with 8992, as I added it in the 8992 series
(gonna update that one soon, too, so we can get it merged)
and I didn't want to needlessly duplicate it. Ideally maybe we
could switch to just qcom,scm for clockless SCM compats?

Regards
Konrad

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

* Re: [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM
  2020-06-23 23:15   ` Bjorn Andersson
@ 2020-06-23 23:34     ` Konrad Dybcio
  2020-06-24  6:40       ` Bjorn Andersson
  0 siblings, 1 reply; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-23 23:34 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, DTML,
	Linux Kernel Mailing List

Thanks for your review.

I will send the regulators/rpm patch very soon.

Regarding the mbox, do you know whether it should include any clocks
on 8992/4? What comes to my head is a53/57pll, but that's not there yet..
So perhaps I should just add it with .clk_name = NULL?

Regards
Konrad

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

* Re: [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM
  2020-06-23 23:34     ` Konrad Dybcio
@ 2020-06-24  6:40       ` Bjorn Andersson
  2020-06-24 15:03         ` Konrad Dybcio
  0 siblings, 1 reply; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-24  6:40 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, DTML,
	Linux Kernel Mailing List

On Tue 23 Jun 16:34 PDT 2020, Konrad Dybcio wrote:

> Thanks for your review.
> 
> I will send the regulators/rpm patch very soon.
> 
> Regarding the mbox, do you know whether it should include any clocks
> on 8992/4? What comes to my head is a53/57pll, but that's not there yet..
> So perhaps I should just add it with .clk_name = NULL?
> 

I don't remember how the clocks are controlled on this platform, so my
suggestion is that you just skip that for now.

Regards,
Bjorn

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

* Re: [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node
  2020-06-23 23:30     ` Konrad Dybcio
@ 2020-06-24  7:29       ` Bjorn Andersson
  0 siblings, 0 replies; 31+ messages in thread
From: Bjorn Andersson @ 2020-06-24  7:29 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, DTML,
	Linux Kernel Mailing List

On Tue 23 Jun 16:30 PDT 2020, Konrad Dybcio wrote:

> >Shouldn't this be "qcom,scm-msm8992", "qcom,scm" ?
> >
> >(Or rather "qcom,scm-msm8994", "qcom,scm")
> 
> Some DTs only have the SoC-specific one, and some also
> have the generic one. But I can add the generic one if
> you wish.
> 
> I went with 8992, as I added it in the 8992 series
> (gonna update that one soon, too, so we can get it merged)
> and I didn't want to needlessly duplicate it. Ideally maybe we
> could switch to just qcom,scm for clockless SCM compats?
> 

It's fairly common practice to specify both a specific and a generic
compatible, this would allow us to in the driver do special handling of
the specific in the future if we need to - without having to update the
devicetree.

Regards,
Bjorn

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

* Re: [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)
  2020-06-23 23:27   ` Bjorn Andersson
@ 2020-06-24 14:44     ` Konrad Dybcio
  0 siblings, 0 replies; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-24 14:44 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, DTML,
	Linux Kernel Mailing List

>This does worry me...

Yeah, sadly the only way to get SMP on every msm8916/39 and
*some* 92/94 mobile devices is to use something along this: [1]

But for now, 1 core is enough. We will worry when more peripherals
are brought up.

[1] https://github.com/msm8916-mainline/linux/commit/1b12cb1f8e718175bcff5734cdb3903e83d8aa89

Regards
Konrad

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

* Re: [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM
  2020-06-24  6:40       ` Bjorn Andersson
@ 2020-06-24 15:03         ` Konrad Dybcio
  0 siblings, 0 replies; 31+ messages in thread
From: Konrad Dybcio @ 2020-06-24 15:03 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: skrzynka, Andy Gross, Rob Herring, Kees Cook, Anton Vorontsov,
	Colin Cross, Tony Luck, linux-arm-msm, DTML,
	Linux Kernel Mailing List

> Can you please extend qcom-apcs-ipc-mailbox and its binding to add
> MSM8994 and use mboxes = <&apcs 0>; here instead?

I have in fact converted it into a mailbox and sent in the v3, but
unfortunately it looks like the SMD RPM driver hasn't been updated
for "mboxes =", so I stuck with the "qcom,ipc =" binding.

Regards
Konrad

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

end of thread, other threads:[~2020-06-24 15:04 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-23 22:47 [PATCH v2 00/12] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
2020-06-23 22:48 ` [PATCH v2 01/12] arm64: dts: qcom: msm8994: Modernize the DTS style Konrad Dybcio
2020-06-23 23:04   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 02/12] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
2020-06-23 23:15   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 03/12] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
2020-06-23 23:16   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 04/12] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
2020-06-23 23:15   ` Bjorn Andersson
2020-06-23 23:34     ` Konrad Dybcio
2020-06-24  6:40       ` Bjorn Andersson
2020-06-24 15:03         ` Konrad Dybcio
2020-06-23 22:48 ` [PATCH v2 05/12] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
2020-06-23 23:17   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 06/12] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
2020-06-23 23:19   ` Bjorn Andersson
2020-06-23 23:30     ` Konrad Dybcio
2020-06-24  7:29       ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 07/12] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
2020-06-23 23:21   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 08/12] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
2020-06-23 23:22   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 09/12] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
2020-06-23 23:22   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 10/12] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
2020-06-23 23:23   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 11/12] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
2020-06-23 23:24   ` Bjorn Andersson
2020-06-23 22:48 ` [PATCH v2 12/12] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
2020-06-23 23:27   ` Bjorn Andersson
2020-06-24 14:44     ` Konrad Dybcio

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