linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/21] MSM8994 peripheral enablement, DTS updates
@ 2020-06-20 14:46 Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks Konrad Dybcio
                   ` (21 more replies)
  0 siblings, 22 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Hi!

In this series I added support for various buses and peripherals
such as I2C or SMD RPM. I also did some housekeeping when it comes
to the DTS. This series also includes a new board (SoMC Kitakami
Sumire / Xperia Z5).

I have a MMCC driver coming along with GCC updates/completion
(almost ready, need to polish a few things) and I sincerely 
hope somebody is going to write a 20nm DSI PLL driver (for 8992/4)
as I have no clue how that works.

Also, some Lumia (yes, Lumia!) device trees are coming soon(tm).

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)


Konrad Dybcio (21):
  clk: qcom: smd: Add support for MSM8992/4 rpm clocks
  arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device
  arm64: dts: qcom: msm8994: Add a proper CPU map
  arm64: dts: qcom: msm8994: Wrap clock nodes into clocks {}
  arm64: dts: qcom: msm8994: Rename the smem node and remove its unit
    address
  arm64: dts: qcom: msm8994: Rename clock_gcc label to gcc
  arm64: dts: qcom: msm8994: Add apcs node
  arm64: dts: qcom: msm8994: Add pmu node
  arm64: dts: qcom: msm8994: Add PSCI node
  arm64: dts: qcom: msm8994: Add support for SMD RPM
  arm64: dts: qcom: msm8994: Add SDHCI1 node
  arm64: dts: qcom: msm8994: Remove qcom,msm-id and qcom-pmic-id
    properties
  arm64: dts: qcom: msm8994: Make comments C style
  arm64: dts: qcom: msm8994: Add SCM node
  arm64: dts: qcom: msm8994: Add BLSP2 UART2 node
  arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes
  arm64: dts: qcom: Update msm8994 pin configuration
  regulator: qcom_smd: Fix pmi8994 label
  arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id
  arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)
  arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead.

 .../devicetree/bindings/clock/qcom,rpmcc.txt  |   2 +
 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    | 272 +++++++++++
 arch/arm64/boot/dts/qcom/msm8994-smd-rpm.dtsi | 268 -----------
 .../msm8994-sony-xperia-kitakami-sumire.dts   | 410 ++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8994.dtsi         | 452 +++++++++++++++++-
 drivers/clk/qcom/clk-smd-rpm.c                | 172 +++++++
 drivers/regulator/qcom_smd-regulator.c        |   2 +-
 include/dt-bindings/clock/qcom,rpmcc.h        |   4 +
 11 files changed, 1556 insertions(+), 293 deletions(-)
 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] 25+ messages in thread

* [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-23 19:11   ` Stephen Boyd
  2020-06-20 14:46 ` [PATCH 02/21] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
                   ` (20 subsequent siblings)
  21 siblings, 1 reply; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Add rpm smd clocks, PMIC and bus clocks which are required on MSM8992,
MSM8994 (and APQ variants) for clients to vote on.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 .../devicetree/bindings/clock/qcom,rpmcc.txt  |   2 +
 drivers/clk/qcom/clk-smd-rpm.c                | 172 ++++++++++++++++++
 include/dt-bindings/clock/qcom,rpmcc.h        |   4 +
 3 files changed, 178 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
index 90a1349bc713..f864ea69a590 100644
--- a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
+++ b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
@@ -17,6 +17,8 @@ Required properties :
 			"qcom,rpmcc-msm8976", "qcom,rpmcc"
 			"qcom,rpmcc-apq8064", "qcom,rpmcc"
 			"qcom,rpmcc-ipq806x", "qcom,rpmcc"
+                        "qcom,rpmcc-msm8992", "qcom,rpmcc"
+                        "qcom,rpmcc-msm8994", "qcom,rpmcc"
 			"qcom,rpmcc-msm8996", "qcom,rpmcc"
 			"qcom,rpmcc-msm8998", "qcom,rpmcc"
 			"qcom,rpmcc-qcs404", "qcom,rpmcc"
diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c
index 52f63ad787ba..429517340148 100644
--- a/drivers/clk/qcom/clk-smd-rpm.c
+++ b/drivers/clk/qcom/clk-smd-rpm.c
@@ -574,6 +574,176 @@ static const struct rpm_smd_clk_desc rpm_clk_msm8976 = {
 	.num_clks = ARRAY_SIZE(msm8976_clks),
 };
 
+/* msm8992 */
+DEFINE_CLK_SMD_RPM(msm8992, pnoc_clk, pnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 0);
+DEFINE_CLK_SMD_RPM(msm8992, ocmemgx_clk, ocmemgx_a_clk, QCOM_SMD_RPM_MEM_CLK, 2);
+DEFINE_CLK_SMD_RPM(msm8992, bimc_clk, bimc_a_clk, QCOM_SMD_RPM_MEM_CLK, 0);
+DEFINE_CLK_SMD_RPM(msm8992, cnoc_clk, cnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 2);
+DEFINE_CLK_SMD_RPM(msm8992, gfx3d_clk_src, gfx3d_a_clk_src, QCOM_SMD_RPM_MEM_CLK, 1);
+DEFINE_CLK_SMD_RPM(msm8992, snoc_clk, snoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, bb_clk1, bb_clk1_a, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8992, bb_clk1_pin, bb_clk1_a_pin, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, bb_clk2, bb_clk2_a, 2);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8992, bb_clk2_pin, bb_clk2_a_pin, 2);
+
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, div_clk1, div_clk1_a, 11);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, div_clk2, div_clk2_a, 12);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, div_clk3, div_clk3_a, 13);
+DEFINE_CLK_SMD_RPM(msm8992, ipa_clk, ipa_a_clk, QCOM_SMD_RPM_IPA_CLK, 0);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, ln_bb_clk, ln_bb_a_clk, 8);
+DEFINE_CLK_SMD_RPM(msm8992, mmssnoc_ahb_clk, mmssnoc_ahb_a_clk,
+		   QCOM_SMD_RPM_BUS_CLK, 3);
+DEFINE_CLK_SMD_RPM_QDSS(msm8992, qdss_clk, qdss_a_clk,
+			QCOM_SMD_RPM_MISC_CLK, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, rf_clk1, rf_clk1_a, 4);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8992, rf_clk2, rf_clk2_a, 5);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8992, rf_clk1_pin, rf_clk1_a_pin, 4);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8992, rf_clk2_pin, rf_clk2_a_pin, 5);
+
+DEFINE_CLK_SMD_RPM(msm8992, ce1_clk, ce1_a_clk, QCOM_SMD_RPM_CE_CLK, 0);
+DEFINE_CLK_SMD_RPM(msm8992, ce2_clk, ce2_a_clk, QCOM_SMD_RPM_CE_CLK, 1);
+
+static struct clk_smd_rpm *msm8992_clks[] = {
+	[RPM_SMD_PNOC_CLK] = &msm8992_pnoc_clk,
+	[RPM_SMD_PNOC_A_CLK] = &msm8992_pnoc_a_clk,
+	[RPM_SMD_OCMEMGX_CLK] = &msm8992_ocmemgx_clk,
+	[RPM_SMD_OCMEMGX_A_CLK] = &msm8992_ocmemgx_a_clk,
+	[RPM_SMD_BIMC_CLK] = &msm8992_bimc_clk,
+	[RPM_SMD_BIMC_A_CLK] = &msm8992_bimc_a_clk,
+	[RPM_SMD_CNOC_CLK] = &msm8992_cnoc_clk,
+	[RPM_SMD_CNOC_A_CLK] = &msm8992_cnoc_a_clk,
+	[RPM_SMD_GFX3D_CLK_SRC] = &msm8992_gfx3d_clk_src,
+	[RPM_SMD_GFX3D_A_CLK_SRC] = &msm8992_gfx3d_a_clk_src,
+	[RPM_SMD_SNOC_CLK] = &msm8992_snoc_clk,
+	[RPM_SMD_SNOC_A_CLK] = &msm8992_snoc_a_clk,
+	[RPM_SMD_BB_CLK1] = &msm8992_bb_clk1,
+	[RPM_SMD_BB_CLK1_A] = &msm8992_bb_clk1_a,
+	[RPM_SMD_BB_CLK1_PIN] = &msm8992_bb_clk1_pin,
+	[RPM_SMD_BB_CLK1_A_PIN] = &msm8992_bb_clk1_a_pin,
+	[RPM_SMD_BB_CLK2] = &msm8992_bb_clk2,
+	[RPM_SMD_BB_CLK2_A] = &msm8992_bb_clk2_a,
+	[RPM_SMD_BB_CLK2_PIN] = &msm8992_bb_clk2_pin,
+	[RPM_SMD_BB_CLK2_A_PIN] = &msm8992_bb_clk2_a_pin,
+	[RPM_SMD_DIV_CLK1] = &msm8992_div_clk1,
+	[RPM_SMD_DIV_A_CLK1] = &msm8992_div_clk1_a,
+	[RPM_SMD_DIV_CLK2] = &msm8992_div_clk2,
+	[RPM_SMD_DIV_A_CLK2] = &msm8992_div_clk2_a,
+	[RPM_SMD_DIV_CLK3] = &msm8992_div_clk3,
+	[RPM_SMD_DIV_A_CLK3] = &msm8992_div_clk3_a,
+	[RPM_SMD_IPA_CLK] = &msm8992_ipa_clk,
+	[RPM_SMD_IPA_A_CLK] = &msm8992_ipa_a_clk,
+	[RPM_SMD_LN_BB_CLK] = &msm8992_ln_bb_clk,
+	[RPM_SMD_LN_BB_A_CLK] = &msm8992_ln_bb_a_clk,
+	[RPM_SMD_MMSSNOC_AHB_CLK] = &msm8992_mmssnoc_ahb_clk,
+	[RPM_SMD_MMSSNOC_AHB_A_CLK] = &msm8992_mmssnoc_ahb_a_clk,
+	[RPM_SMD_QDSS_CLK] = &msm8992_qdss_clk,
+	[RPM_SMD_QDSS_A_CLK] = &msm8992_qdss_a_clk,
+	[RPM_SMD_RF_CLK1] = &msm8992_rf_clk1,
+	[RPM_SMD_RF_CLK1_A] = &msm8992_rf_clk1_a,
+	[RPM_SMD_RF_CLK2] = &msm8992_rf_clk2,
+	[RPM_SMD_RF_CLK2_A] = &msm8992_rf_clk2_a,
+	[RPM_SMD_RF_CLK1_PIN] = &msm8992_rf_clk1_pin,
+	[RPM_SMD_RF_CLK1_A_PIN] = &msm8992_rf_clk1_a_pin,
+	[RPM_SMD_RF_CLK2_PIN] = &msm8992_rf_clk2_pin,
+	[RPM_SMD_RF_CLK2_A_PIN] = &msm8992_rf_clk2_a_pin,
+	[RPM_SMD_CE1_CLK] = &msm8992_ce1_clk,
+	[RPM_SMD_CE1_A_CLK] = &msm8992_ce1_a_clk,
+	[RPM_SMD_CE2_CLK] = &msm8992_ce2_clk,
+	[RPM_SMD_CE2_A_CLK] = &msm8992_ce2_a_clk,
+};
+
+static const struct rpm_smd_clk_desc rpm_clk_msm8992 = {
+	.clks = msm8992_clks,
+	.num_clks = ARRAY_SIZE(msm8992_clks),
+};
+
+/* msm8994 */
+DEFINE_CLK_SMD_RPM(msm8994, pnoc_clk, pnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 0);
+DEFINE_CLK_SMD_RPM(msm8994, ocmemgx_clk, ocmemgx_a_clk, QCOM_SMD_RPM_MEM_CLK, 2);
+DEFINE_CLK_SMD_RPM(msm8994, bimc_clk, bimc_a_clk, QCOM_SMD_RPM_MEM_CLK, 0);
+DEFINE_CLK_SMD_RPM(msm8994, cnoc_clk, cnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 2);
+DEFINE_CLK_SMD_RPM(msm8994, gfx3d_clk_src, gfx3d_a_clk_src, QCOM_SMD_RPM_MEM_CLK, 1);
+DEFINE_CLK_SMD_RPM(msm8994, snoc_clk, snoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, bb_clk1, bb_clk1_a, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8994, bb_clk1_pin, bb_clk1_a_pin, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, bb_clk2, bb_clk2_a, 2);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8994, bb_clk2_pin, bb_clk2_a_pin, 2);
+
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, div_clk1, div_clk1_a, 11);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, div_clk2, div_clk2_a, 12);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, div_clk3, div_clk3_a, 13);
+DEFINE_CLK_SMD_RPM(msm8994, ipa_clk, ipa_a_clk, QCOM_SMD_RPM_IPA_CLK, 0);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, ln_bb_clk, ln_bb_a_clk, 8);
+DEFINE_CLK_SMD_RPM(msm8994, mmssnoc_ahb_clk, mmssnoc_ahb_a_clk,
+		   QCOM_SMD_RPM_BUS_CLK, 3);
+DEFINE_CLK_SMD_RPM_QDSS(msm8994, qdss_clk, qdss_a_clk,
+			QCOM_SMD_RPM_MISC_CLK, 1);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, rf_clk1, rf_clk1_a, 4);
+DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8994, rf_clk2, rf_clk2_a, 5);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8994, rf_clk1_pin, rf_clk1_a_pin, 4);
+DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8994, rf_clk2_pin, rf_clk2_a_pin, 5);
+
+DEFINE_CLK_SMD_RPM(msm8994, ce1_clk, ce1_a_clk, QCOM_SMD_RPM_CE_CLK, 0);
+DEFINE_CLK_SMD_RPM(msm8994, ce2_clk, ce2_a_clk, QCOM_SMD_RPM_CE_CLK, 1);
+DEFINE_CLK_SMD_RPM(msm8994, ce3_clk, ce3_a_clk, QCOM_SMD_RPM_CE_CLK, 2);
+
+static struct clk_smd_rpm *msm8994_clks[] = {
+	[RPM_SMD_PNOC_CLK] = &msm8994_pnoc_clk,
+	[RPM_SMD_PNOC_A_CLK] = &msm8994_pnoc_a_clk,
+	[RPM_SMD_OCMEMGX_CLK] = &msm8994_ocmemgx_clk,
+	[RPM_SMD_OCMEMGX_A_CLK] = &msm8994_ocmemgx_a_clk,
+	[RPM_SMD_BIMC_CLK] = &msm8994_bimc_clk,
+	[RPM_SMD_BIMC_A_CLK] = &msm8994_bimc_a_clk,
+	[RPM_SMD_CNOC_CLK] = &msm8994_cnoc_clk,
+	[RPM_SMD_CNOC_A_CLK] = &msm8994_cnoc_a_clk,
+	[RPM_SMD_GFX3D_CLK_SRC] = &msm8994_gfx3d_clk_src,
+	[RPM_SMD_GFX3D_A_CLK_SRC] = &msm8994_gfx3d_a_clk_src,
+	[RPM_SMD_SNOC_CLK] = &msm8994_snoc_clk,
+	[RPM_SMD_SNOC_A_CLK] = &msm8994_snoc_a_clk,
+	[RPM_SMD_BB_CLK1] = &msm8994_bb_clk1,
+	[RPM_SMD_BB_CLK1_A] = &msm8994_bb_clk1_a,
+	[RPM_SMD_BB_CLK1_PIN] = &msm8994_bb_clk1_pin,
+	[RPM_SMD_BB_CLK1_A_PIN] = &msm8994_bb_clk1_a_pin,
+	[RPM_SMD_BB_CLK2] = &msm8994_bb_clk2,
+	[RPM_SMD_BB_CLK2_A] = &msm8994_bb_clk2_a,
+	[RPM_SMD_BB_CLK2_PIN] = &msm8994_bb_clk2_pin,
+	[RPM_SMD_BB_CLK2_A_PIN] = &msm8994_bb_clk2_a_pin,
+	[RPM_SMD_DIV_CLK1] = &msm8994_div_clk1,
+	[RPM_SMD_DIV_A_CLK1] = &msm8994_div_clk1_a,
+	[RPM_SMD_DIV_CLK2] = &msm8994_div_clk2,
+	[RPM_SMD_DIV_A_CLK2] = &msm8994_div_clk2_a,
+	[RPM_SMD_DIV_CLK3] = &msm8994_div_clk3,
+	[RPM_SMD_DIV_A_CLK3] = &msm8994_div_clk3_a,
+	[RPM_SMD_IPA_CLK] = &msm8994_ipa_clk,
+	[RPM_SMD_IPA_A_CLK] = &msm8994_ipa_a_clk,
+	[RPM_SMD_LN_BB_CLK] = &msm8994_ln_bb_clk,
+	[RPM_SMD_LN_BB_A_CLK] = &msm8994_ln_bb_a_clk,
+	[RPM_SMD_MMSSNOC_AHB_CLK] = &msm8994_mmssnoc_ahb_clk,
+	[RPM_SMD_MMSSNOC_AHB_A_CLK] = &msm8994_mmssnoc_ahb_a_clk,
+	[RPM_SMD_QDSS_CLK] = &msm8994_qdss_clk,
+	[RPM_SMD_QDSS_A_CLK] = &msm8994_qdss_a_clk,
+	[RPM_SMD_RF_CLK1] = &msm8994_rf_clk1,
+	[RPM_SMD_RF_CLK1_A] = &msm8994_rf_clk1_a,
+	[RPM_SMD_RF_CLK2] = &msm8994_rf_clk2,
+	[RPM_SMD_RF_CLK2_A] = &msm8994_rf_clk2_a,
+	[RPM_SMD_RF_CLK1_PIN] = &msm8994_rf_clk1_pin,
+	[RPM_SMD_RF_CLK1_A_PIN] = &msm8994_rf_clk1_a_pin,
+	[RPM_SMD_RF_CLK2_PIN] = &msm8994_rf_clk2_pin,
+	[RPM_SMD_RF_CLK2_A_PIN] = &msm8994_rf_clk2_a_pin,
+	[RPM_SMD_CE1_CLK] = &msm8994_ce1_clk,
+	[RPM_SMD_CE1_A_CLK] = &msm8994_ce1_a_clk,
+	[RPM_SMD_CE2_CLK] = &msm8994_ce2_clk,
+	[RPM_SMD_CE2_A_CLK] = &msm8994_ce2_a_clk,
+	[RPM_SMD_CE3_CLK] = &msm8994_ce3_clk,
+	[RPM_SMD_CE3_A_CLK] = &msm8994_ce3_a_clk,
+};
+
+static const struct rpm_smd_clk_desc rpm_clk_msm8994 = {
+	.clks = msm8994_clks,
+	.num_clks = ARRAY_SIZE(msm8994_clks),
+};
+
+
 /* msm8996 */
 DEFINE_CLK_SMD_RPM(msm8996, pcnoc_clk, pcnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 0);
 DEFINE_CLK_SMD_RPM(msm8996, snoc_clk, snoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 1);
@@ -770,6 +940,8 @@ static const struct of_device_id rpm_smd_clk_match_table[] = {
 	{ .compatible = "qcom,rpmcc-msm8916", .data = &rpm_clk_msm8916 },
 	{ .compatible = "qcom,rpmcc-msm8974", .data = &rpm_clk_msm8974 },
 	{ .compatible = "qcom,rpmcc-msm8976", .data = &rpm_clk_msm8976 },
+	{ .compatible = "qcom,rpmcc-msm8992", .data = &rpm_clk_msm8992 },
+	{ .compatible = "qcom,rpmcc-msm8994", .data = &rpm_clk_msm8994 },
 	{ .compatible = "qcom,rpmcc-msm8996", .data = &rpm_clk_msm8996 },
 	{ .compatible = "qcom,rpmcc-msm8998", .data = &rpm_clk_msm8998 },
 	{ .compatible = "qcom,rpmcc-qcs404",  .data = &rpm_clk_qcs404  },
diff --git a/include/dt-bindings/clock/qcom,rpmcc.h b/include/dt-bindings/clock/qcom,rpmcc.h
index ae74c43c485d..9cbf17027afd 100644
--- a/include/dt-bindings/clock/qcom,rpmcc.h
+++ b/include/dt-bindings/clock/qcom,rpmcc.h
@@ -133,5 +133,9 @@
 #define RPM_SMD_RF_CLK3_A			87
 #define RPM_SMD_RF_CLK3_PIN			88
 #define RPM_SMD_RF_CLK3_A_PIN			89
+#define RPM_SMD_CE2_CLK             90
+#define RPM_SMD_CE2_A_CLK               91
+#define RPM_SMD_CE3_CLK             92
+#define RPM_SMD_CE3_A_CLK           93
 
 #endif
-- 
2.27.0


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

* [PATCH 02/21] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 03/21] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 b1c2d7d6a0f2..f10c8b34bd08 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -149,6 +149,22 @@ blsp1_uart2: serial@f991e000 {
 				 <&clock_gcc GCC_BLSP1_AHB_CLK>;
 		};
 
+		spmi_bus: qcom,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] 25+ messages in thread

* [PATCH 03/21] arm64: dts: qcom: msm8994: Add a proper CPU map
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 02/21] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 04/21] arm64: dts: qcom: msm8994: Wrap clock nodes into clocks {} Konrad Dybcio
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 | 100 ++++++++++++++++++++++++--
 1 file changed, 96 insertions(+), 4 deletions(-)

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


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

* [PATCH 04/21] arm64: dts: qcom: msm8994: Wrap clock nodes into clocks {}
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (2 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 03/21] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 05/21] arm64: dts: qcom: msm8994: Rename the smem node and remove its unit address Konrad Dybcio
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Wrap xo_board and sleep_clk into clocks {} to follow the
style used in other device trees.

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index ebb6a0630604..0e8cf7e3dd85 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -277,16 +277,18 @@ memory {
 		reg = <0 0 0 0>;
 	};
 
-	xo_board: xo_board {
-		compatible = "fixed-clock";
-		#clock-cells = <0>;
-		clock-frequency = <19200000>;
-	};
+	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>;
+		sleep_clk: sleep_clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <32768>;
+		};
 	};
 
 	reserved-memory {
-- 
2.27.0


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

* [PATCH 05/21] arm64: dts: qcom: msm8994: Rename the smem node and remove its unit address
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (3 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 04/21] arm64: dts: qcom: msm8994: Wrap clock nodes into clocks {} Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 06/21] arm64: dts: qcom: msm8994: Rename clock_gcc label to gcc Konrad Dybcio
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Change the way smem node is described to match other upstream device
trees. The previous style was used in downstream kernels.

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 0e8cf7e3dd85..5206605d3bad 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -308,7 +308,7 @@ tcsr_mutex: hwlock {
 		#hwlock-cells = <1>;
 	};
 
-	qcom,smem@6a00000 {
+	smem {
 		compatible = "qcom,smem";
 		memory-region = <&smem_mem>;
 		hwlocks = <&tcsr_mutex 3>;
-- 
2.27.0


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

* [PATCH 06/21] arm64: dts: qcom: msm8994: Rename clock_gcc label to gcc
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (4 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 05/21] arm64: dts: qcom: msm8994: Rename the smem node and remove its unit address Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 07/21] arm64: dts: qcom: msm8994: Add apcs node Konrad Dybcio
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Change the label to follow the style used in other device trees.

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 5206605d3bad..0a6d637fbbba 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -237,8 +237,8 @@ blsp1_uart2: serial@f991e000 {
 			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>;
+			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
+				 <&gcc GCC_BLSP1_AHB_CLK>;
 		};
 
 		spmi_bus: qcom,spmi@fc4c0000 {
@@ -262,7 +262,7 @@ tcsr_mutex_regs: syscon@fd484000 {
 			reg = <0xfd484000 0x2000>;
 		};
 
-		clock_gcc: clock-controller@fc400000 {
+		gcc: clock-controller@fc400000 {
 			compatible = "qcom,gcc-msm8994";
 			#clock-cells = <1>;
 			#reset-cells = <1>;
-- 
2.27.0


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

* [PATCH 07/21] arm64: dts: qcom: msm8994: Add apcs node
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (5 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 06/21] arm64: dts: qcom: msm8994: Rename clock_gcc label to gcc Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 08/21] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Add apcs node so that we can enable SMD RPM

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 0a6d637fbbba..8853559f755d 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -269,6 +269,11 @@ gcc: clock-controller@fc400000 {
 			#power-domain-cells = <1>;
 			reg = <0xfc400000 0x2000>;
 		};
+
+		apcs: syscon@f900d000 {
+			compatible = "syscon";
+			reg = <0xf900d000 0x2000>;
+		};
 	};
 
 	memory {
-- 
2.27.0


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

* [PATCH 08/21] arm64: dts: qcom: msm8994: Add pmu node
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (6 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 07/21] arm64: dts: qcom: msm8994: Add apcs node Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 09/21] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
                   ` (13 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 8853559f755d..adb1ebd15667 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -282,6 +282,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)>;
+	};
+
 	clocks {
 		xo_board: xo_board {
 			compatible = "fixed-clock";
-- 
2.27.0


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

* [PATCH 09/21] arm64: dts: qcom: msm8994: Add PSCI node
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (7 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 08/21] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 10/21] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 adb1ebd15667..076da1fc52a1 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -287,6 +287,11 @@ pmu {
 		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
 	};
 
+	psci {
+		compatible = "arm,psci-0.2";
+		method = "hvc";
+	};
+
 	clocks {
 		xo_board: xo_board {
 			compatible = "fixed-clock";
-- 
2.27.0


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

* [PATCH 10/21] arm64: dts: qcom: msm8994: Add support for SMD RPM
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (8 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 09/21] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 11/21] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
                   ` (11 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 | 108 ++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 076da1fc52a1..f623f7e08994 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -262,6 +262,11 @@ tcsr_mutex_regs: syscon@fd484000 {
 			reg = <0xfd484000 0x2000>;
 		};
 
+		rpm_msg_ram: memory@fc428000 {
+			compatible = "qcom,rpm-msg-ram";
+			reg = <0xfc428000 0x4000>;
+		};
+
 		gcc: clock-controller@fc400000 {
 			compatible = "qcom,gcc-msm8994";
 			#clock-cells = <1>;
@@ -292,6 +297,97 @@ psci {
 		method = "hvc";
 	};
 
+	smd_rpm: 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: rpm-requests {
+				compatible = "qcom,rpm-msm8994";
+				qcom,smd-channels = "rpm_requests";
+
+				rpmcc: qcom,rpmcc {
+					compatible = "qcom,rpmcc-msm8994";
+					#clock-cells = <1>;
+				};
+
+				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 {
+					compatible = "qcom,rpm-pmi8994-regulators";
+
+					pmi8994_s1: s1 {};
+					pmi8994_s2: s2 {};
+					pmi8994_s3: s3 {};
+					pmi8994_bby: boost-bypass {};
+				};
+			};
+		};
+	};
+
 	clocks {
 		xo_board: xo_board {
 			compatible = "fixed-clock";
@@ -306,6 +402,17 @@ sleep_clk: sleep_clk {
 		};
 	};
 
+	vreg_vph_pwr: vreg-vph-pwr {
+		compatible = "regulator-fixed";
+		status = "okay";
+		regulator-name = "vph-pwr";
+
+		regulator-min-microvolt = <3600000>;
+		regulator-max-microvolt = <3600000>;
+
+		regulator-always-on;
+	};
+
 	reserved-memory {
 		#address-cells = <2>;
 		#size-cells = <2>;
@@ -326,6 +433,7 @@ tcsr_mutex: hwlock {
 	smem {
 		compatible = "qcom,smem";
 		memory-region = <&smem_mem>;
+		qcom,rpm-msg-ram = <&rpm_msg_ram>;
 		hwlocks = <&tcsr_mutex 3>;
 	};
 };
-- 
2.27.0


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

* [PATCH 11/21] arm64: dts: qcom: msm8994: Add SDHCI1 node
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (9 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 10/21] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 12/21] arm64: dts: qcom: msm8994: Remove qcom,msm-id and qcom-pmic-id properties Konrad Dybcio
                   ` (10 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index f623f7e08994..f363b678c3b3 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -279,6 +279,33 @@ apcs: syscon@f900d000 {
 			compatible = "syscon";
 			reg = <0xf900d000 0x2000>;
 		};
+
+		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>;
+
+			regulator-always-on;
+			bus-width = <8>;
+			mmc-hs400-1_8v;
+			non-removable;
+			status = "disabled";
+		};
 	};
 
 	memory {
-- 
2.27.0


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

* [PATCH 12/21] arm64: dts: qcom: msm8994: Remove qcom,msm-id and qcom-pmic-id properties
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (10 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 11/21] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 13/21] arm64: dts: qcom: msm8994: Make comments C style Konrad Dybcio
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

These should be set on a per-device basis, as they also include
hardware revision bits that can vary between boards using the same SoC.

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index f363b678c3b3..b1a3f1732d84 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -8,10 +8,7 @@
 / {
 	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>;
-- 
2.27.0


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

* [PATCH 13/21] arm64: dts: qcom: msm8994: Make comments C style
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (11 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 12/21] arm64: dts: qcom: msm8994: Remove qcom,msm-id and qcom-pmic-id properties Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 14/21] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
                   ` (8 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index b1a3f1732d84..19c9ac30453e 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -1,6 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
-/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
- */
+/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8994.h>
@@ -307,7 +306,7 @@ sdhc1: sdhci@f9824900 {
 
 	memory {
 		device_type = "memory";
-		// We expect the bootloader to fill in the reg
+		/* We expect the bootloader to fill in the reg */
 		reg = <0 0 0 0>;
 	};
 
-- 
2.27.0


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

* [PATCH 14/21] arm64: dts: qcom: msm8994: Add SCM node
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (12 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 13/21] arm64: dts: qcom: msm8994: Make comments C style Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 15/21] arm64: dts: qcom: msm8994: Add BLSP2 UART2 node Konrad Dybcio
                   ` (7 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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 19c9ac30453e..df35c975c94c 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -138,6 +138,12 @@ timer {
 			     <1 1 0xff08>;
 	};
 
+	firmware {
+		scm {
+			compatible = "qcom,scm-msm8992";
+		};
+	};
+
 	soc: soc {
 
 		#address-cells = <1>;
-- 
2.27.0


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

* [PATCH 15/21] arm64: dts: qcom: msm8994: Add BLSP2 UART2 node
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (13 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 14/21] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 16/21] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
                   ` (6 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Add a BLSP2 UART2 node to enable serial connection.

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index df35c975c94c..20e859eb1318 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -243,6 +243,15 @@ blsp1_uart2: serial@f991e000 {
 				 <&gcc GCC_BLSP1_AHB_CLK>;
 		};
 
+		blsp2_uart2: serial@f995e000 {
+			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+			reg = <0xf995e000 0x1000>;
+			interrupt = <GIC_SPI 146 IRQ_TYPE_EDGE_FALLING>;
+			clock-names = "core", "iface";
+			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
+					<&gcc GCC_BLSP2_AHB_CLK>;
+		};
+
 		spmi_bus: qcom,spmi@fc4c0000 {
 			compatible = "qcom,spmi-pmic-arb";
 			reg = <0xfc4cf000 0x1000>,
-- 
2.27.0


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

* [PATCH 16/21] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (14 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 15/21] arm64: dts: qcom: msm8994: Add BLSP2 UART2 node Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 17/21] arm64: dts: qcom: Update msm8994 pin configuration Konrad Dybcio
                   ` (5 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

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

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 20e859eb1318..7a7b22e2d5cc 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -233,14 +233,40 @@ msmgpio: pinctrl@fd510000 {
 			#interrupt-cells = <2>;
 		};
 
+		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>;
+		};
+
+		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>;
+		};
+
 		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>;
+			status = "disabled";
 		};
 
 		blsp2_uart2: serial@f995e000 {
@@ -250,6 +276,115 @@ blsp2_uart2: serial@f995e000 {
 			clock-names = "core", "iface";
 			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
 					<&gcc GCC_BLSP2_AHB_CLK>;
+			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
+			dma-names = "tx", "rx";
+			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_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";
+		};
+
+		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";
+		};
+
+		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";
+		};
+
+		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";
 		};
 
 		spmi_bus: qcom,spmi@fc4c0000 {
-- 
2.27.0


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

* [PATCH 17/21] arm64: dts: qcom: Update msm8994 pin configuration
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (15 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 16/21] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 18/21] regulator: qcom_smd: Fix pmi8994 label Konrad Dybcio
                   ` (4 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

This allows us to use I2C, SPI and the second UART.

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

diff --git a/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi
index 2e118d967f53..9fbdc46991da 100644
--- a/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi
@@ -27,4 +27,276 @@ pinconf {
 			bias-pull-down;
 		};
 	};
+
+	blsp2_uart2_default: blsp2_uart2_default {
+		pinmux {
+			function = "blsp_uart8";
+			pins = "gpio45", "gpio46";
+		};
+		pinconf {
+			pins = "gpio45", "gpio46";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	blsp2_uart2_sleep: blsp2_uart2_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio45", "gpio46";
+		};
+		pinconf {
+			pins = "gpio45", "gpio46";
+			drive-strength = <2>;
+			bias-pull-down;
+		};
+	};
+
+	i2c1_default: i2c1_default {
+		pinmux {
+			function = "blsp_i2c1";
+			pins = "gpio2", "gpio3";
+		};
+		pinconf {
+			pins = "gpio2", "gpio3";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c1_sleep: i2c1_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio2", "gpio3";
+		};
+		pinconf {
+			pins = "gpio2", "gpio3";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c2_default: i2c2_default {
+		pinmux {
+			function = "blsp_i2c2";
+			pins = "gpio6", "gpio7";
+		};
+		pinconf {
+			pins = "gpio6", "gpio7";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c2_sleep: i2c2_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio6", "gpio7";
+		};
+		pinconf {
+			pins = "gpio6", "gpio7";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c4_default: i2c4_default {
+		pinmux {
+			function = "blsp_i2c4";
+			pins = "gpio19", "gpio20";
+		};
+		pinconf {
+			pins = "gpio19", "gpio20";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c4_sleep: i2c4_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio19", "gpio20";
+		};
+		pinconf {
+			pins = "gpio19", "gpio20";
+			drive-strength = <2>;
+			bias-pull-down;
+			input-enable;
+		};
+	};
+
+	i2c5_default: i2c5_default {
+		pinmux {
+			function = "blsp_i2c5";
+			pins = "gpio23", "gpio24";
+		};
+		pinconf {
+			pins = "gpio23", "gpio24";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c5_sleep: i2c5_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio23", "gpio24";
+		};
+		pinconf {
+			pins = "gpio23", "gpio24";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c6_default: i2c6_default {
+		pinmux {
+			function = "blsp_i2c6";
+			pins = "gpio28", "gpio27";
+		};
+		pinconf {
+			pins = "gpio28", "gpio27";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	i2c6_sleep: i2c6_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio28", "gpio27";
+		};
+		pinconf {
+			pins = "gpio28", "gpio27";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	blsp1_spi0_default: blsp1_spi0_default {
+		pinmux {
+			function = "blsp_spi1";
+			pins = "gpio0", "gpio1", "gpio3";
+		};
+		pinmux_cs {
+			function = "gpio";
+			pins = "gpio8";
+		};
+		pinconf {
+			pins = "gpio0", "gpio1", "gpio3";
+			drive-strength = <10>;
+			bias-pull-down;
+		};
+		pinconf_cs {
+			pins = "gpio8";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	blsp1_spi0_sleep: blsp1_spi0_sleep {
+		pinmux {
+			function = "gpio";
+			pins = "gpio0", "gpio1", "gpio3";
+		};
+		pinconf {
+			pins = "gpio0", "gpio1", "gpio3";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	pmx_sdc1_clk {
+		sdc1_clk_on: clk-on {
+			pinmux {
+				pins = "sdc1_clk";
+			};
+			pinconf {
+				pins = "sdc1_clk";
+				bias-disable;
+				drive-strength = <16>;
+			};
+		};
+
+		sdc1_clk_off: clk-off {
+			pinmux {
+				pins = "sdc1_clk";
+			};
+			pinconf {
+				pins = "sdc1_clk";
+				bias-disable;
+				drive-strength = <2>;
+			};
+		};
+	};
+
+	pmx_sdc1_cmd {
+		sdc1_cmd_on: cmd-on {
+			pinmux {
+				pins = "sdc1_cmd";
+			};
+			pinconf {
+				pins = "sdc1_cmd";
+				bias-pull-up;
+				drive-strength = <8>;
+			};
+		};
+
+		sdc1_cmd_off: cmd-off {
+			pinmux {
+				pins = "sdc1_cmd";
+			};
+			pinconf {
+				pins = "sdc1_cmd";
+				bias-pull-up;
+				drive-strength = <2>;
+			};
+		};
+	};
+
+	pmx_sdc1_data {
+		sdc1_data_on: data-on {
+			pinmux {
+				pins = "sdc1_data";
+			};
+			pinconf {
+				pins = "sdc1_data";
+				bias-pull-up;
+				drive-strength = <8>;
+			};
+		};
+
+		sdc1_data_off: data-off {
+			pinmux {
+				pins = "sdc1_data";
+			};
+			pinconf {
+				pins = "sdc1_data";
+				bias-pull-up;
+				drive-strength = <2>;
+			};
+		};
+	};
+
+	pmx_sdc1_rclk {
+		sdc1_rclk_on: rclk-on {
+			pinmux {
+				pins = "sdc1_rclk";
+			};
+			pinconf {
+				pins = "sdc1_rclk";
+				bias-pull-down;
+			};
+		};
+
+		sdc1_rclk_off: rclk-off {
+			pinmux {
+				pins = "sdc1_rclk";
+			};
+			pinconf {
+				pins = "sdc1_rclk";
+				bias-pull-down;
+			};
+		};
+	};
 };
-- 
2.27.0


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

* [PATCH 18/21] regulator: qcom_smd: Fix pmi8994 label
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (16 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 17/21] arm64: dts: qcom: Update msm8994 pin configuration Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-21  6:05   ` Bjorn Andersson
  2020-06-20 14:46 ` [PATCH 19/21] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
                   ` (3 subsequent siblings)
  21 siblings, 1 reply; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

s3 was mislabeled as s2. Fix it.

Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
---
 drivers/regulator/qcom_smd-regulator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c
index 53a64d856926..7f5c318c8259 100644
--- a/drivers/regulator/qcom_smd-regulator.c
+++ b/drivers/regulator/qcom_smd-regulator.c
@@ -821,7 +821,7 @@ static const struct rpm_regulator_data rpm_pm8994_regulators[] = {
 static const struct rpm_regulator_data rpm_pmi8994_regulators[] = {
 	{ "s1", QCOM_SMD_RPM_SMPB, 1, &pmi8994_ftsmps, "vdd_s1" },
 	{ "s2", QCOM_SMD_RPM_SMPB, 2, &pmi8994_hfsmps, "vdd_s2" },
-	{ "s2", QCOM_SMD_RPM_SMPB, 3, &pmi8994_hfsmps, "vdd_s3" },
+	{ "s3", QCOM_SMD_RPM_SMPB, 3, &pmi8994_hfsmps, "vdd_s3" },
 	{ "boost-bypass", QCOM_SMD_RPM_BBYB, 1, &pmi8994_bby, "vdd_bst_byp" },
 	{}
 };
-- 
2.27.0


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

* [PATCH 19/21] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (17 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 18/21] regulator: qcom_smd: Fix pmi8994 label Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 20/21] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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] 25+ messages in thread

* [PATCH 20/21] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW)
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (18 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 19/21] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-20 14:46 ` [PATCH 21/21] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
  2020-06-23 12:39 ` [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Mark Brown
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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   | 410 ++++++++++++++++++
 2 files changed, 411 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..3b0a880416c4
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami-sumire.dts
@@ -0,0 +1,410 @@
+// 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 = "SoMC Sumire-ROW";
+	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;
+
+	soc {
+		serial@f991e000 {
+			status = "okay";
+
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&blsp1_uart2_default>;
+			pinctrl-1 = <&blsp1_uart2_sleep>;
+		};
+
+		serial@f995e000 {
+			status = "okay";
+
+			pinctrl-names = "default", "sleep";
+			pinctrl-0 = <&blsp2_uart2_default>;
+			pinctrl-1 = <&blsp2_uart2_sleep>;
+		};
+
+		/* I2C1 is disabled on this board */
+
+		i2c@f9924000 {
+			status = "okay";
+
+			/* NXP NFC */
+		};
+
+		i2c@f9926000 {
+			status = "okay";
+
+			/* Empty but active */
+		};
+
+		i2c@f9967000 {
+			status = "okay";
+
+			/* SMB1357 charger and sii8620 HDMI/MHL bridge */
+		};
+
+		i2c@f9928000 {
+			status = "okay";
+
+			/* Synaptics touchscreen */
+		};
+
+		sdhci@f9824900 {
+			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>;
+			*/
+		};
+
+		spi@f9923000 {
+			status = "okay";
+
+			/* FPC fingerprint reader */
+		};
+	};
+
+	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;
+		};
+	};
+};
+
+&smd_rpm {
+	rpm {
+		rpm_requests {
+			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>;
+				};
+			};
+		};
+	};
+};
\ No newline at end of file
-- 
2.27.0


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

* [PATCH 21/21] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead.
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (19 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 20/21] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
@ 2020-06-20 14:46 ` Konrad Dybcio
  2020-06-23 12:39 ` [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Mark Brown
  21 siblings, 0 replies; 25+ messages in thread
From: Konrad Dybcio @ 2020-06-20 14:46 UTC (permalink / raw)
  To: skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, 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] 25+ messages in thread

* Re: [PATCH 18/21] regulator: qcom_smd: Fix pmi8994 label
  2020-06-20 14:46 ` [PATCH 18/21] regulator: qcom_smd: Fix pmi8994 label Konrad Dybcio
@ 2020-06-21  6:05   ` Bjorn Andersson
  0 siblings, 0 replies; 25+ messages in thread
From: Bjorn Andersson @ 2020-06-21  6:05 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: skrzynka, Andy Gross, Michael Turquette, Stephen Boyd,
	Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

On Sat 20 Jun 07:46 PDT 2020, Konrad Dybcio wrote:

> s3 was mislabeled as s2. Fix it.
> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> ---
>  drivers/regulator/qcom_smd-regulator.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c
> index 53a64d856926..7f5c318c8259 100644
> --- a/drivers/regulator/qcom_smd-regulator.c
> +++ b/drivers/regulator/qcom_smd-regulator.c
> @@ -821,7 +821,7 @@ static const struct rpm_regulator_data rpm_pm8994_regulators[] = {
>  static const struct rpm_regulator_data rpm_pmi8994_regulators[] = {
>  	{ "s1", QCOM_SMD_RPM_SMPB, 1, &pmi8994_ftsmps, "vdd_s1" },
>  	{ "s2", QCOM_SMD_RPM_SMPB, 2, &pmi8994_hfsmps, "vdd_s2" },
> -	{ "s2", QCOM_SMD_RPM_SMPB, 3, &pmi8994_hfsmps, "vdd_s3" },
> +	{ "s3", QCOM_SMD_RPM_SMPB, 3, &pmi8994_hfsmps, "vdd_s3" },
>  	{ "boost-bypass", QCOM_SMD_RPM_BBYB, 1, &pmi8994_bby, "vdd_bst_byp" },
>  	{}
>  };
> -- 
> 2.27.0
> 

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

* Re: [PATCH 00/21] MSM8994 peripheral enablement, DTS updates
  2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
                   ` (20 preceding siblings ...)
  2020-06-20 14:46 ` [PATCH 21/21] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
@ 2020-06-23 12:39 ` Mark Brown
  21 siblings, 0 replies; 25+ messages in thread
From: Mark Brown @ 2020-06-23 12:39 UTC (permalink / raw)
  To: skrzynka, Konrad Dybcio
  Cc: Rob Herring, Bjorn Andersson, linux-arm-msm, Kees Cook,
	linux-kernel, Tony Luck, Anton Vorontsov, Andy Gross,
	Liam Girdwood, devicetree, Stephen Boyd, linux-clk,
	Michael Turquette, Colin Cross

On Sat, 20 Jun 2020 16:46:16 +0200, Konrad Dybcio wrote:
> In this series I added support for various buses and peripherals
> such as I2C or SMD RPM. I also did some housekeeping when it comes
> to the DTS. This series also includes a new board (SoMC Kitakami
> Sumire / Xperia Z5).
> 
> I have a MMCC driver coming along with GCC updates/completion
> (almost ready, need to polish a few things) and I sincerely
> hope somebody is going to write a 20nm DSI PLL driver (for 8992/4)
> as I have no clue how that works.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[1/1] regulator: qcom_smd: Fix pmi8994 label
      commit: 0d46f69881c34351b6ec523c31225b90ea89ee20

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

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

* Re: [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks
  2020-06-20 14:46 ` [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks Konrad Dybcio
@ 2020-06-23 19:11   ` Stephen Boyd
  0 siblings, 0 replies; 25+ messages in thread
From: Stephen Boyd @ 2020-06-23 19:11 UTC (permalink / raw)
  To: Konrad Dybcio, skrzynka
  Cc: Konrad Dybcio, Andy Gross, Bjorn Andersson, Michael Turquette,
	Rob Herring, Liam Girdwood, Mark Brown, Kees Cook,
	Anton Vorontsov, Colin Cross, Tony Luck, linux-arm-msm,
	linux-clk, devicetree, linux-kernel

Quoting Konrad Dybcio (2020-06-20 07:46:17)
> Add rpm smd clocks, PMIC and bus clocks which are required on MSM8992,
> MSM8994 (and APQ variants) for clients to vote on.

We really should move the bus clks to be in the interconnect framework.

> 
> Signed-off-by: Konrad Dybcio <konradybcio@gmail.com>
> ---
> diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
> index 90a1349bc713..f864ea69a590 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
> +++ b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
> @@ -17,6 +17,8 @@ Required properties :
>                         "qcom,rpmcc-msm8976", "qcom,rpmcc"
>                         "qcom,rpmcc-apq8064", "qcom,rpmcc"
>                         "qcom,rpmcc-ipq806x", "qcom,rpmcc"
> +                        "qcom,rpmcc-msm8992", "qcom,rpmcc"
> +                        "qcom,rpmcc-msm8994", "qcom,rpmcc"

Indentation is off.

>                         "qcom,rpmcc-msm8996", "qcom,rpmcc"
>                         "qcom,rpmcc-msm8998", "qcom,rpmcc"
>                         "qcom,rpmcc-qcs404", "qcom,rpmcc"
> diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c
> index 52f63ad787ba..429517340148 100644
> --- a/drivers/clk/qcom/clk-smd-rpm.c
> +++ b/drivers/clk/qcom/clk-smd-rpm.c
> @@ -574,6 +574,176 @@ static const struct rpm_smd_clk_desc rpm_clk_msm8976 = {
>         .num_clks = ARRAY_SIZE(msm8976_clks),
>  };
[...]
> +       [RPM_SMD_RF_CLK1_A_PIN] = &msm8994_rf_clk1_a_pin,
> +       [RPM_SMD_RF_CLK2_PIN] = &msm8994_rf_clk2_pin,
> +       [RPM_SMD_RF_CLK2_A_PIN] = &msm8994_rf_clk2_a_pin,
> +       [RPM_SMD_CE1_CLK] = &msm8994_ce1_clk,
> +       [RPM_SMD_CE1_A_CLK] = &msm8994_ce1_a_clk,
> +       [RPM_SMD_CE2_CLK] = &msm8994_ce2_clk,
> +       [RPM_SMD_CE2_A_CLK] = &msm8994_ce2_a_clk,
> +       [RPM_SMD_CE3_CLK] = &msm8994_ce3_clk,
> +       [RPM_SMD_CE3_A_CLK] = &msm8994_ce3_a_clk,
> +};
> +
> +static const struct rpm_smd_clk_desc rpm_clk_msm8994 = {
> +       .clks = msm8994_clks,
> +       .num_clks = ARRAY_SIZE(msm8994_clks),
> +};
> +
> +

Please drop the extra newline.

>  /* msm8996 */
>  DEFINE_CLK_SMD_RPM(msm8996, pcnoc_clk, pcnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 0);
>  DEFINE_CLK_SMD_RPM(msm8996, snoc_clk, snoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 1);
> @@ -770,6 +940,8 @@ static const struct of_device_id rpm_smd_clk_match_table[] = {
>         { .compatible = "qcom,rpmcc-msm8916", .data = &rpm_clk_msm8916 },
>         { .compatible = "qcom,rpmcc-msm8974", .data = &rpm_clk_msm8974 },
>         { .compatible = "qcom,rpmcc-msm8976", .data = &rpm_clk_msm8976 },
> +       { .compatible = "qcom,rpmcc-msm8992", .data = &rpm_clk_msm8992 },
> +       { .compatible = "qcom,rpmcc-msm8994", .data = &rpm_clk_msm8994 },
>         { .compatible = "qcom,rpmcc-msm8996", .data = &rpm_clk_msm8996 },
>         { .compatible = "qcom,rpmcc-msm8998", .data = &rpm_clk_msm8998 },
>         { .compatible = "qcom,rpmcc-qcs404",  .data = &rpm_clk_qcs404  },
> diff --git a/include/dt-bindings/clock/qcom,rpmcc.h b/include/dt-bindings/clock/qcom,rpmcc.h
> index ae74c43c485d..9cbf17027afd 100644
> --- a/include/dt-bindings/clock/qcom,rpmcc.h
> +++ b/include/dt-bindings/clock/qcom,rpmcc.h
> @@ -133,5 +133,9 @@
>  #define RPM_SMD_RF_CLK3_A                      87
>  #define RPM_SMD_RF_CLK3_PIN                    88
>  #define RPM_SMD_RF_CLK3_A_PIN                  89
> +#define RPM_SMD_CE2_CLK             90
> +#define RPM_SMD_CE2_A_CLK               91
> +#define RPM_SMD_CE3_CLK             92
> +#define RPM_SMD_CE3_A_CLK           93
>  

This is wrecked by other patches you've sent. Please resend just this
patch to clk maintainers with these two things fixed.

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

end of thread, other threads:[~2020-06-23 19:11 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-20 14:46 [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Konrad Dybcio
2020-06-20 14:46 ` [PATCH 01/21] clk: qcom: smd: Add support for MSM8992/4 rpm clocks Konrad Dybcio
2020-06-23 19:11   ` Stephen Boyd
2020-06-20 14:46 ` [PATCH 02/21] arm64: dts: qcom: msm8994: Add SPMI PMIC arbiter device Konrad Dybcio
2020-06-20 14:46 ` [PATCH 03/21] arm64: dts: qcom: msm8994: Add a proper CPU map Konrad Dybcio
2020-06-20 14:46 ` [PATCH 04/21] arm64: dts: qcom: msm8994: Wrap clock nodes into clocks {} Konrad Dybcio
2020-06-20 14:46 ` [PATCH 05/21] arm64: dts: qcom: msm8994: Rename the smem node and remove its unit address Konrad Dybcio
2020-06-20 14:46 ` [PATCH 06/21] arm64: dts: qcom: msm8994: Rename clock_gcc label to gcc Konrad Dybcio
2020-06-20 14:46 ` [PATCH 07/21] arm64: dts: qcom: msm8994: Add apcs node Konrad Dybcio
2020-06-20 14:46 ` [PATCH 08/21] arm64: dts: qcom: msm8994: Add pmu node Konrad Dybcio
2020-06-20 14:46 ` [PATCH 09/21] arm64: dts: qcom: msm8994: Add PSCI node Konrad Dybcio
2020-06-20 14:46 ` [PATCH 10/21] arm64: dts: qcom: msm8994: Add support for SMD RPM Konrad Dybcio
2020-06-20 14:46 ` [PATCH 11/21] arm64: dts: qcom: msm8994: Add SDHCI1 node Konrad Dybcio
2020-06-20 14:46 ` [PATCH 12/21] arm64: dts: qcom: msm8994: Remove qcom,msm-id and qcom-pmic-id properties Konrad Dybcio
2020-06-20 14:46 ` [PATCH 13/21] arm64: dts: qcom: msm8994: Make comments C style Konrad Dybcio
2020-06-20 14:46 ` [PATCH 14/21] arm64: dts: qcom: msm8994: Add SCM node Konrad Dybcio
2020-06-20 14:46 ` [PATCH 15/21] arm64: dts: qcom: msm8994: Add BLSP2 UART2 node Konrad Dybcio
2020-06-20 14:46 ` [PATCH 16/21] arm64: dts: qcom: msm8994: Add I2C, SPI and BLSP DMA nodes Konrad Dybcio
2020-06-20 14:46 ` [PATCH 17/21] arm64: dts: qcom: Update msm8994 pin configuration Konrad Dybcio
2020-06-20 14:46 ` [PATCH 18/21] regulator: qcom_smd: Fix pmi8994 label Konrad Dybcio
2020-06-21  6:05   ` Bjorn Andersson
2020-06-20 14:46 ` [PATCH 19/21] arm64: dts: qcom: angler: Add qcom,msm-id and pmic-id Konrad Dybcio
2020-06-20 14:46 ` [PATCH 20/21] arm64: dts: qcom: Add support for Sony Xperia Z5 (SoMC Sumire-RoW) Konrad Dybcio
2020-06-20 14:46 ` [PATCH 21/21] arm64: dts: qcom: Move msm8994-smd-rpm contents to lg-bullhead Konrad Dybcio
2020-06-23 12:39 ` [PATCH 00/21] MSM8994 peripheral enablement, DTS updates Mark Brown

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