All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform
@ 2025-05-08 11:19 Balaji Selvanathan
  2025-05-08 11:19 ` [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes Balaji Selvanathan
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

These patches introduce the initial support code needed
for the QTI QCS8300 SoC based IQ8 Series Platform.

Please see [1] for SoC related details

Thanks
Balaji

1 - https://docs.qualcomm.com/bundle/publicresource/87-83839-1_REV_A_Qualcomm_IQ8_Series_Product_Brief________.pdf

Balaji Selvanathan (6):
  dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes
  dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup
  clk/qcom: qcs8300: Add GCC clock driver for QCS8300
  phy: qcom: Enable QMP UFS PHY driver for QCS8300
  qcom_defconfig: Enable QCS8300 clock driver
  configs: add qcs8300_defconfig

 arch/arm/dts/qcs8300-ride-u-boot.dtsi         |  19 +++
 configs/qcom_defconfig                        |   1 +
 configs/qcs8300_defconfig                     |  21 +++
 drivers/clk/qcom/Kconfig                      |   8 +
 drivers/clk/qcom/Makefile                     |   1 +
 drivers/clk/qcom/clock-qcs8300.c              | 146 ++++++++++++++++++
 drivers/phy/qcom/phy-qcom-qmp-ufs.c           |   1 +
 .../include/dt-bindings/power/qcom-rpmpd.h    |  19 +++
 8 files changed, 216 insertions(+)
 create mode 100644 arch/arm/dts/qcs8300-ride-u-boot.dtsi
 create mode 100644 configs/qcs8300_defconfig
 create mode 100644 drivers/clk/qcom/clock-qcs8300.c

-- 
2.34.1


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

* [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
@ 2025-05-08 11:19 ` Balaji Selvanathan
  2025-05-12  7:08   ` Sumit Garg
  2025-05-08 11:19 ` [PATCH v1 2/6] dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup Balaji Selvanathan
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Added QCS8300 Power Domain Indexes in dt-bindings/power/qcom-rpmhpd.h

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
 .../include/dt-bindings/power/qcom-rpmpd.h    | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h b/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h
index df599bf4622..50291f918c2 100644
--- a/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h
+++ b/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h
@@ -4,6 +4,25 @@
 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
 
+/* QCS8300 Power Domain Indexes */
+#define QCS8300_CX	0
+#define QCS8300_CX_AO	1
+#define QCS8300_DDR	2
+#define QCS8300_EBI	3
+#define QCS8300_GFX	4
+#define QCS8300_LCX	5
+#define QCS8300_LMX	6
+#define QCS8300_MMCX	7
+#define QCS8300_MMCX_AO	8
+#define QCS8300_MSS	9
+#define QCS8300_MX	10
+#define QCS8300_MX_AO	11
+#define QCS8300_MXC	12
+#define QCS8300_MXC_AO	13
+#define QCS8300_NSP0	14
+#define QCS8300_NSP1	15
+#define QCS8300_XO	16
+
 /* SA8775P Power Domain Indexes */
 #define SA8775P_CX	0
 #define SA8775P_CX_AO	1
-- 
2.34.1


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

* [PATCH v1 2/6] dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
  2025-05-08 11:19 ` [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes Balaji Selvanathan
@ 2025-05-08 11:19 ` Balaji Selvanathan
  2025-05-09 11:10   ` Casey Connolly
  2025-05-08 11:19 ` [PATCH v1 3/6] clk/qcom: qcs8300: Add GCC clock driver for QCS8300 Balaji Selvanathan
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Added the memory entry to bootup.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
 arch/arm/dts/qcs8300-ride-u-boot.dtsi | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 arch/arm/dts/qcs8300-ride-u-boot.dtsi

diff --git a/arch/arm/dts/qcs8300-ride-u-boot.dtsi b/arch/arm/dts/qcs8300-ride-u-boot.dtsi
new file mode 100644
index 00000000000..8c353ace71e
--- /dev/null
+++ b/arch/arm/dts/qcs8300-ride-u-boot.dtsi
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/ {
+	memory@80000000 {
+		device_type = "memory";
+		reg = <0x0 0x80000000 0x0 0x11a80000>,
+		      <0x0 0xc0000000 0x0 0x10000000>,
+		      <0x0 0xd3100000 0x0 0x26b00000>,
+		      <0xe 0x80000000 0x1 0x00000000>,
+		      <0xa 0x80000000 0x1 0x80000000>,
+		      <0x0 0xb0800000 0x0 0x0f200000>,
+		      <0x0 0xd0100000 0x0 0x01800000>,
+		      <0x0 0x91b00000 0x0 0x1e500000>;
+	};
+};
+
-- 
2.34.1


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

* [PATCH v1 3/6] clk/qcom: qcs8300: Add GCC clock driver for QCS8300
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
  2025-05-08 11:19 ` [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes Balaji Selvanathan
  2025-05-08 11:19 ` [PATCH v1 2/6] dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup Balaji Selvanathan
@ 2025-05-08 11:19 ` Balaji Selvanathan
  2025-05-09 11:07   ` Casey Connolly
  2025-05-08 11:19 ` [PATCH v1 4/6] phy: qcom: Enable QMP UFS PHY " Balaji Selvanathan
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

* Port Linux's gcc-qcs8300.c driver to U-Boot for basic bring-up.

* Enable QCS8300 clocks in qcom_defconfig.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
 drivers/clk/qcom/Kconfig         |   8 ++
 drivers/clk/qcom/Makefile        |   1 +
 drivers/clk/qcom/clock-qcs8300.c | 146 +++++++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 drivers/clk/qcom/clock-qcs8300.c

diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
index 3ea01f3c969..a226a787af8 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -63,6 +63,14 @@ config CLK_QCOM_SA8775P
 	  on the Snapdragon SA8775 SoC. This driver supports the clocks
 	  and resets exposed by the GCC hardware block.
 
+config CLK_QCOM_QCS8300
+	bool "Qualcomm QCS8300 GCC"
+	select CLK_QCOM
+	help
+	  Say Y here to enable support for the Global Clock Controller
+	  on the Snapdragon QCS8300 SoC. This driver supports the clocks
+	  and resets exposed by the GCC hardware block.
+
 config CLK_QCOM_SDM845
 	bool "Qualcomm SDM845 GCC"
 	select CLK_QCOM
diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
index e13fc8c1071..7e544bc5407 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_CLK_QCOM_IPQ9574) += clock-ipq9574.o
 obj-$(CONFIG_CLK_QCOM_QCM2290) += clock-qcm2290.o
 obj-$(CONFIG_CLK_QCOM_QCS404) += clock-qcs404.o
 obj-$(CONFIG_CLK_QCOM_SA8775P) += clock-sa8775p.o
+obj-$(CONFIG_CLK_QCOM_QCS8300) += clock-qcs8300.o
 obj-$(CONFIG_CLK_QCOM_SC7280) += clock-sc7280.o
 obj-$(CONFIG_CLK_QCOM_SM6115) += clock-sm6115.o
 obj-$(CONFIG_CLK_QCOM_SM8150) += clock-sm8150.o
diff --git a/drivers/clk/qcom/clock-qcs8300.c b/drivers/clk/qcom/clock-qcs8300.c
new file mode 100644
index 00000000000..f0b9a0b4fd5
--- /dev/null
+++ b/drivers/clk/qcom/clock-qcs8300.c
@@ -0,0 +1,146 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2024-2025, Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ */
+
+#include <linux/types.h>
+#include <clk-uclass.h>
+#include <dm.h>
+#include <linux/delay.h>
+#include <asm/io.h>
+#include <linux/bug.h>
+#include <linux/bitops.h>
+#include <dt-bindings/clock/qcom,qcs8300-gcc.h>
+#include "clock-qcom.h"
+
+#define USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR 0xf038
+#define USB30_PRIM_MASTER_CLK_CMD_RCGR 0xf020
+
+static ulong qcs8300_set_rate(struct clk *clk, ulong rate)
+{
+	struct msm_clk_priv *priv = dev_get_priv(clk->dev);
+
+	if (clk->id < priv->data->num_clks)
+		debug("%s: %s, requested rate=%ld\n",
+		      __func__, priv->data->clks[clk->id].name, rate);
+
+	switch (clk->id) {
+	case GCC_USB30_PRIM_MOCK_UTMI_CLK:
+		WARN(rate != 19200000, "Unexpected rate for USB30_PRIM_MOCK_UTMI_CLK: %lu\n", rate);
+		clk_rcg_set_rate(priv->base, USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR, 0, CFG_CLK_SRC_CXO);
+		return rate;
+	case GCC_USB30_PRIM_MASTER_CLK:
+		WARN(rate != 200000000, "Unexpected rate for USB30_PRIM_MASTER_CLK: %lu\n", rate);
+		clk_rcg_set_rate_mnd(priv->base, USB30_PRIM_MASTER_CLK_CMD_RCGR,
+				     1, 0, 0, CFG_CLK_SRC_GPLL0_ODD, 8);
+		clk_rcg_set_rate(priv->base, 0xf064, 0, 0);
+		return rate;
+	default:
+		return 0;
+	}
+}
+
+static const struct gate_clk qcs8300_clks[] = {
+	GATE_CLK(GCC_CFG_NOC_USB3_PRIM_AXI_CLK, 0x1b088, 1),
+	GATE_CLK(GCC_USB30_PRIM_MASTER_CLK, 0x1b018, 1),
+	GATE_CLK(GCC_AGGRE_USB3_PRIM_AXI_CLK, 0x1b084, 1),
+	GATE_CLK(GCC_USB30_PRIM_SLEEP_CLK, 0x1b020, 1),
+	GATE_CLK(GCC_USB30_PRIM_MOCK_UTMI_CLK, 0x1b024, 1),
+	GATE_CLK(GCC_USB3_PRIM_PHY_AUX_CLK, 0x1b05c, 1),
+	GATE_CLK(GCC_USB3_PRIM_PHY_COM_AUX_CLK, 0x1b060, 1),
+	GATE_CLK(GCC_UFS_PHY_AHB_CLK, 0x83020, 1),
+	GATE_CLK(GCC_UFS_PHY_AXI_CLK, 0x83018, 1),
+	GATE_CLK(GCC_AGGRE_UFS_PHY_AXI_CLK, 0x830d4, 1),
+	GATE_CLK(GCC_UFS_PHY_UNIPRO_CORE_CLK, 0x83064, 1),
+};
+
+static int qcs8300_enable(struct clk *clk)
+{
+	struct msm_clk_priv *priv = dev_get_priv(clk->dev);
+
+	if (priv->data->num_clks < clk->id) {
+		debug("%s: unknown clk id %lu\n", __func__, clk->id);
+		return 0;
+	}
+
+	debug("%s: clk %ld: %s\n", __func__, clk->id, qcs8300_clks[clk->id].name);
+
+	switch (clk->id) {
+	case GCC_AGGRE_USB3_PRIM_AXI_CLK:
+		qcom_gate_clk_en(priv, GCC_USB30_PRIM_MASTER_CLK);
+		fallthrough;
+	case GCC_USB30_PRIM_MASTER_CLK:
+		qcom_gate_clk_en(priv, GCC_USB3_PRIM_PHY_AUX_CLK);
+		qcom_gate_clk_en(priv, GCC_USB3_PRIM_PHY_COM_AUX_CLK);
+		break;
+	}
+
+	qcom_gate_clk_en(priv, clk->id);
+
+	return 0;
+}
+
+static const struct qcom_reset_map qcs8300_gcc_resets[] = {
+	[GCC_EMAC0_BCR] = { 0xb6000 },
+	[GCC_PCIE_0_BCR] = { 0xa9000 },
+	[GCC_PCIE_0_LINK_DOWN_BCR] = { 0xbf000 },
+	[GCC_PCIE_0_NOCSR_COM_PHY_BCR] = { 0xbf008 },
+	[GCC_PCIE_0_PHY_BCR] = { 0xa9144 },
+	[GCC_PCIE_0_PHY_NOCSR_COM_PHY_BCR] = { 0xbf00c },
+	[GCC_PCIE_1_BCR] = { 0x77000 },
+	[GCC_PCIE_1_LINK_DOWN_BCR] = { 0xae084 },
+	[GCC_PCIE_1_NOCSR_COM_PHY_BCR] = { 0xae090 },
+	[GCC_PCIE_1_PHY_BCR] = { 0xae08c },
+	[GCC_PCIE_1_PHY_NOCSR_COM_PHY_BCR] = { 0xae094 },
+	[GCC_SDCC1_BCR] = { 0x20000 },
+	[GCC_UFS_PHY_BCR] = { 0x83000 },
+	[GCC_USB20_PRIM_BCR] = { 0x1c000 },
+	[GCC_USB2_PHY_PRIM_BCR] = { 0x5c01c },
+	[GCC_USB2_PHY_SEC_BCR] = { 0x5c020 },
+	[GCC_USB30_PRIM_BCR] = { 0x1b000 },
+	[GCC_USB3_DP_PHY_PRIM_BCR] = { 0x5c008 },
+	[GCC_USB3_PHY_PRIM_BCR] = { 0x5c000 },
+	[GCC_USB3_PHY_TERT_BCR] = { 0x5c024 },
+	[GCC_USB3_UNIPHY_MP0_BCR] = { 0x5c00c },
+	[GCC_USB3_UNIPHY_MP1_BCR] = { 0x5c010 },
+	[GCC_USB3PHY_PHY_PRIM_BCR] = { 0x5c004 },
+	[GCC_USB3UNIPHY_PHY_MP0_BCR] = { 0x5c014 },
+	[GCC_USB3UNIPHY_PHY_MP1_BCR] = { 0x5c018 },
+	[GCC_USB_PHY_CFG_AHB2PHY_BCR] = { 0x76000 },
+	[GCC_VIDEO_BCR] = { 0x34000 },
+};
+
+static const struct qcom_power_map qcs8300_gdscs[] = {
+	[GCC_UFS_PHY_GDSC] = { 0x83004 },
+	[GCC_USB30_PRIM_GDSC] = { 0x1B004 },
+};
+
+static struct msm_clk_data qcs8300_gcc_data = {
+	.resets = qcs8300_gcc_resets,
+	.num_resets = ARRAY_SIZE(qcs8300_gcc_resets),
+	.clks = qcs8300_clks,
+	.num_clks = ARRAY_SIZE(qcs8300_clks),
+
+	.power_domains = qcs8300_gdscs,
+	.num_power_domains = ARRAY_SIZE(qcs8300_gdscs),
+
+	.enable = qcs8300_enable,
+	.set_rate = qcs8300_set_rate,
+};
+
+static const struct udevice_id gcc_qcs8300_of_match[] = {
+	{
+		.compatible = "qcom,qcs8300-gcc",
+		.data = (ulong)&qcs8300_gcc_data,
+	},
+	{ }
+};
+
+U_BOOT_DRIVER(gcc_qcs8300) = {
+	.name		= "gcc_qcs8300",
+	.id		= UCLASS_NOP,
+	.of_match	= gcc_qcs8300_of_match,
+	.bind		= qcom_cc_bind,
+	.flags		= DM_FLAG_PRE_RELOC | DM_FLAG_DEFAULT_PD_CTRL_OFF,
+};
-- 
2.34.1


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

* [PATCH v1 4/6] phy: qcom: Enable QMP UFS PHY driver for QCS8300
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
                   ` (2 preceding siblings ...)
  2025-05-08 11:19 ` [PATCH v1 3/6] clk/qcom: qcs8300: Add GCC clock driver for QCS8300 Balaji Selvanathan
@ 2025-05-08 11:19 ` Balaji Selvanathan
  2025-05-09 11:07   ` Casey Connolly
  2025-05-08 11:19 ` [PATCH v1 5/6] qcom_defconfig: Enable QCS8300 clock driver Balaji Selvanathan
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Enable QMP phy for QCS8300, referenced from Linux.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
 drivers/phy/qcom/phy-qcom-qmp-ufs.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/phy/qcom/phy-qcom-qmp-ufs.c b/drivers/phy/qcom/phy-qcom-qmp-ufs.c
index 449b9767778..18cc665647f 100644
--- a/drivers/phy/qcom/phy-qcom-qmp-ufs.c
+++ b/drivers/phy/qcom/phy-qcom-qmp-ufs.c
@@ -1469,6 +1469,7 @@ static const struct udevice_id qmp_ufs_ids[] = {
 	{ .compatible = "qcom,sdm845-qmp-ufs-phy", .data = (ulong)&sdm845_ufsphy_cfg },
 	{ .compatible = "qcom,sm8150-qmp-ufs-phy", .data = (ulong)&sm8150_ufsphy_cfg },
 	{ .compatible = "qcom,sm8250-qmp-ufs-phy", .data = (ulong)&sm8250_ufsphy_cfg },
+	{ .compatible = "qcom,qcs8300-qmp-ufs-phy", .data = (ulong)&sa8775p_ufsphy_cfg },
 	{ .compatible = "qcom,sm8550-qmp-ufs-phy", .data = (ulong)&sm8550_ufsphy_cfg },
 	{ .compatible = "qcom,sm8650-qmp-ufs-phy", .data = (ulong)&sm8650_ufsphy_cfg },
 	{ .compatible = "qcom,sc7280-qmp-ufs-phy", .data = (ulong)&sc7280_ufsphy_cfg, },
-- 
2.34.1


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

* [PATCH v1 5/6] qcom_defconfig: Enable QCS8300 clock driver
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
                   ` (3 preceding siblings ...)
  2025-05-08 11:19 ` [PATCH v1 4/6] phy: qcom: Enable QMP UFS PHY " Balaji Selvanathan
@ 2025-05-08 11:19 ` Balaji Selvanathan
  2025-05-09 11:08   ` Casey Connolly
  2025-05-08 11:19 ` [PATCH v1 6/6] configs: add qcs8300_defconfig Balaji Selvanathan
  2025-05-09 11:04 ` [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Casey Connolly
  6 siblings, 1 reply; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Enable the QCS8300 clock driver in Qualcomm defconfig.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
 configs/qcom_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
index 537806450dc..5a3e5aa8e97 100644
--- a/configs/qcom_defconfig
+++ b/configs/qcom_defconfig
@@ -52,6 +52,7 @@ CONFIG_CLK_QCOM_APQ8096=y
 CONFIG_CLK_QCOM_QCM2290=y
 CONFIG_CLK_QCOM_QCS404=y
 CONFIG_CLK_QCOM_SA8775P=y
+CONFIG_CLK_QCOM_QCS8300=y
 CONFIG_CLK_QCOM_SDM845=y
 CONFIG_CLK_QCOM_SM6115=y
 CONFIG_CLK_QCOM_SM8150=y
-- 
2.34.1


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

* [PATCH v1 6/6] configs: add qcs8300_defconfig
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
                   ` (4 preceding siblings ...)
  2025-05-08 11:19 ` [PATCH v1 5/6] qcom_defconfig: Enable QCS8300 clock driver Balaji Selvanathan
@ 2025-05-08 11:19 ` Balaji Selvanathan
  2025-05-09 11:09   ` Casey Connolly
  2025-05-09 15:28   ` Casey Connolly
  2025-05-09 11:04 ` [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Casey Connolly
  6 siblings, 2 replies; 15+ messages in thread
From: Balaji Selvanathan @ 2025-05-08 11:19 UTC (permalink / raw)
  To: trini, casey.connolly, neil.armstrong, sumit.garg, lukma, seanga2,
	balaji.selvanathan, ilias.apalodimas, me, sjg, quic_varada,
	sughosh.ganu, lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Introduce a defconfig for QCS8300 based boards.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
---
 configs/qcs8300_defconfig | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 configs/qcs8300_defconfig

diff --git a/configs/qcs8300_defconfig b/configs/qcs8300_defconfig
new file mode 100644
index 00000000000..06afc45ec33
--- /dev/null
+++ b/configs/qcs8300_defconfig
@@ -0,0 +1,21 @@
+# Configuration for building U-Boot to be flashed
+# to the uefi partition of QCM6490 dev boards with
+# the "Linux Embedded" partition layout (which have
+# a dedicated "uefi" partition for edk2/U-Boot)
+
+#include "qcom_defconfig"
+
+# Otherwise buildman thinks this isn't an ARM platform
+CONFIG_ARM=y
+
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_DEBUG_UART_BASE=0x99C000
+CONFIG_DEBUG_UART_MSM_GENI=y
+CONFIG_DEBUG_UART_CLOCK=14745600
+
+# Address where U-Boot will be loaded
+CONFIG_TEXT_BASE=0xaf000000
+CONFIG_REMAKE_ELF=y
+
+CONFIG_DEFAULT_DEVICE_TREE="qcom/qcs8300-ride"
-- 
2.34.1


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

* Re: [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform
  2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
                   ` (5 preceding siblings ...)
  2025-05-08 11:19 ` [PATCH v1 6/6] configs: add qcs8300_defconfig Balaji Selvanathan
@ 2025-05-09 11:04 ` Casey Connolly
  6 siblings, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 11:04 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Hi Balaji,

On 5/8/25 13:19, Balaji Selvanathan wrote:
> These patches introduce the initial support code needed
> for the QTI QCS8300 SoC based IQ8 Series Platform.

Thanks for this series, it's great to see support for this new platform.

Given you're introducing a new defconfig, please update 
doc/board/qualcomm to document how to build and use this platform. We 
missed this with the QCS8100 but I guess they're pretty similar so both 
could be mentioned.

Like we had for the IPQ "RDP" boards, a "Dragonwing" or QCS8xxx document 
which lists the supported boards and build instructions would be awesome.

These docs serve as a good reference for users and an easy way to get 
some idea of what platforms are supported. They should also link to the 
product brief.

Kind regards,

> 
> Please see [1] for SoC related details
> 
> Thanks
> Balaji
> 
> 1 - https://docs.qualcomm.com/bundle/publicresource/87-83839-1_REV_A_Qualcomm_IQ8_Series_Product_Brief________.pdf
> 
> Balaji Selvanathan (6):
>    dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes
>    dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup
>    clk/qcom: qcs8300: Add GCC clock driver for QCS8300
>    phy: qcom: Enable QMP UFS PHY driver for QCS8300
>    qcom_defconfig: Enable QCS8300 clock driver
>    configs: add qcs8300_defconfig
> 
>   arch/arm/dts/qcs8300-ride-u-boot.dtsi         |  19 +++
>   configs/qcom_defconfig                        |   1 +
>   configs/qcs8300_defconfig                     |  21 +++
>   drivers/clk/qcom/Kconfig                      |   8 +
>   drivers/clk/qcom/Makefile                     |   1 +
>   drivers/clk/qcom/clock-qcs8300.c              | 146 ++++++++++++++++++
>   drivers/phy/qcom/phy-qcom-qmp-ufs.c           |   1 +
>   .../include/dt-bindings/power/qcom-rpmpd.h    |  19 +++
>   8 files changed, 216 insertions(+)
>   create mode 100644 arch/arm/dts/qcs8300-ride-u-boot.dtsi
>   create mode 100644 configs/qcs8300_defconfig
>   create mode 100644 drivers/clk/qcom/clock-qcs8300.c
> 
-- 
Casey (she/they)


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

* Re: [PATCH v1 3/6] clk/qcom: qcs8300: Add GCC clock driver for QCS8300
  2025-05-08 11:19 ` [PATCH v1 3/6] clk/qcom: qcs8300: Add GCC clock driver for QCS8300 Balaji Selvanathan
@ 2025-05-09 11:07   ` Casey Connolly
  0 siblings, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 11:07 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom



On 5/8/25 13:19, Balaji Selvanathan wrote:
> * Port Linux's gcc-qcs8300.c driver to U-Boot for basic bring-up.
> 
> * Enable QCS8300 clocks in qcom_defconfig.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
>   drivers/clk/qcom/Kconfig         |   8 ++
>   drivers/clk/qcom/Makefile        |   1 +
>   drivers/clk/qcom/clock-qcs8300.c | 146 +++++++++++++++++++++++++++++++
>   3 files changed, 155 insertions(+)
>   create mode 100644 drivers/clk/qcom/clock-qcs8300.c
> 
> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
> index 3ea01f3c969..a226a787af8 100644
> --- a/drivers/clk/qcom/Kconfig
> +++ b/drivers/clk/qcom/Kconfig
> @@ -63,6 +63,14 @@ config CLK_QCOM_SA8775P
>   	  on the Snapdragon SA8775 SoC. This driver supports the clocks
>   	  and resets exposed by the GCC hardware block.
>   
> +config CLK_QCOM_QCS8300

Alphabetical order please

> +	bool "Qualcomm QCS8300 GCC"
> +	select CLK_QCOM
> +	help
> +	  Say Y here to enable support for the Global Clock Controller
> +	  on the Snapdragon QCS8300 SoC. This driver supports the clocks
> +	  and resets exposed by the GCC hardware block.
> +
>   config CLK_QCOM_SDM845
>   	bool "Qualcomm SDM845 GCC"
>   	select CLK_QCOM
> diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
> index e13fc8c1071..7e544bc5407 100644
> --- a/drivers/clk/qcom/Makefile
> +++ b/drivers/clk/qcom/Makefile
> @@ -11,6 +11,7 @@ obj-$(CONFIG_CLK_QCOM_IPQ9574) += clock-ipq9574.o
>   obj-$(CONFIG_CLK_QCOM_QCM2290) += clock-qcm2290.o
>   obj-$(CONFIG_CLK_QCOM_QCS404) += clock-qcs404.o
>   obj-$(CONFIG_CLK_QCOM_SA8775P) += clock-sa8775p.o
> +obj-$(CONFIG_CLK_QCOM_QCS8300) += clock-qcs8300.o

Same here

With that:

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>

>   obj-$(CONFIG_CLK_QCOM_SC7280) += clock-sc7280.o
>   obj-$(CONFIG_CLK_QCOM_SM6115) += clock-sm6115.o
>   obj-$(CONFIG_CLK_QCOM_SM8150) += clock-sm8150.o
> diff --git a/drivers/clk/qcom/clock-qcs8300.c b/drivers/clk/qcom/clock-qcs8300.c
> new file mode 100644
> index 00000000000..f0b9a0b4fd5
> --- /dev/null
> +++ b/drivers/clk/qcom/clock-qcs8300.c
> @@ -0,0 +1,146 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2024-2025, Qualcomm Innovation Center, Inc. All rights reserved.
> + *
> + */
> +
> +#include <linux/types.h>
> +#include <clk-uclass.h>
> +#include <dm.h>
> +#include <linux/delay.h>
> +#include <asm/io.h>
> +#include <linux/bug.h>
> +#include <linux/bitops.h>
> +#include <dt-bindings/clock/qcom,qcs8300-gcc.h>
> +#include "clock-qcom.h"
> +
> +#define USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR 0xf038
> +#define USB30_PRIM_MASTER_CLK_CMD_RCGR 0xf020
> +
> +static ulong qcs8300_set_rate(struct clk *clk, ulong rate)
> +{
> +	struct msm_clk_priv *priv = dev_get_priv(clk->dev);
> +
> +	if (clk->id < priv->data->num_clks)
> +		debug("%s: %s, requested rate=%ld\n",
> +		      __func__, priv->data->clks[clk->id].name, rate);
> +
> +	switch (clk->id) {
> +	case GCC_USB30_PRIM_MOCK_UTMI_CLK:
> +		WARN(rate != 19200000, "Unexpected rate for USB30_PRIM_MOCK_UTMI_CLK: %lu\n", rate);
> +		clk_rcg_set_rate(priv->base, USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR, 0, CFG_CLK_SRC_CXO);
> +		return rate;
> +	case GCC_USB30_PRIM_MASTER_CLK:
> +		WARN(rate != 200000000, "Unexpected rate for USB30_PRIM_MASTER_CLK: %lu\n", rate);
> +		clk_rcg_set_rate_mnd(priv->base, USB30_PRIM_MASTER_CLK_CMD_RCGR,
> +				     1, 0, 0, CFG_CLK_SRC_GPLL0_ODD, 8);
> +		clk_rcg_set_rate(priv->base, 0xf064, 0, 0);
> +		return rate;
> +	default:
> +		return 0;
> +	}
> +}
> +
> +static const struct gate_clk qcs8300_clks[] = {
> +	GATE_CLK(GCC_CFG_NOC_USB3_PRIM_AXI_CLK, 0x1b088, 1),
> +	GATE_CLK(GCC_USB30_PRIM_MASTER_CLK, 0x1b018, 1),
> +	GATE_CLK(GCC_AGGRE_USB3_PRIM_AXI_CLK, 0x1b084, 1),
> +	GATE_CLK(GCC_USB30_PRIM_SLEEP_CLK, 0x1b020, 1),
> +	GATE_CLK(GCC_USB30_PRIM_MOCK_UTMI_CLK, 0x1b024, 1),
> +	GATE_CLK(GCC_USB3_PRIM_PHY_AUX_CLK, 0x1b05c, 1),
> +	GATE_CLK(GCC_USB3_PRIM_PHY_COM_AUX_CLK, 0x1b060, 1),
> +	GATE_CLK(GCC_UFS_PHY_AHB_CLK, 0x83020, 1),
> +	GATE_CLK(GCC_UFS_PHY_AXI_CLK, 0x83018, 1),
> +	GATE_CLK(GCC_AGGRE_UFS_PHY_AXI_CLK, 0x830d4, 1),
> +	GATE_CLK(GCC_UFS_PHY_UNIPRO_CORE_CLK, 0x83064, 1),
> +};
> +
> +static int qcs8300_enable(struct clk *clk)
> +{
> +	struct msm_clk_priv *priv = dev_get_priv(clk->dev);
> +
> +	if (priv->data->num_clks < clk->id) {
> +		debug("%s: unknown clk id %lu\n", __func__, clk->id);
> +		return 0;
> +	}
> +
> +	debug("%s: clk %ld: %s\n", __func__, clk->id, qcs8300_clks[clk->id].name);
> +
> +	switch (clk->id) {
> +	case GCC_AGGRE_USB3_PRIM_AXI_CLK:
> +		qcom_gate_clk_en(priv, GCC_USB30_PRIM_MASTER_CLK);
> +		fallthrough;
> +	case GCC_USB30_PRIM_MASTER_CLK:
> +		qcom_gate_clk_en(priv, GCC_USB3_PRIM_PHY_AUX_CLK);
> +		qcom_gate_clk_en(priv, GCC_USB3_PRIM_PHY_COM_AUX_CLK);
> +		break;
> +	}
> +
> +	qcom_gate_clk_en(priv, clk->id);
> +
> +	return 0;
> +}
> +
> +static const struct qcom_reset_map qcs8300_gcc_resets[] = {
> +	[GCC_EMAC0_BCR] = { 0xb6000 },
> +	[GCC_PCIE_0_BCR] = { 0xa9000 },
> +	[GCC_PCIE_0_LINK_DOWN_BCR] = { 0xbf000 },
> +	[GCC_PCIE_0_NOCSR_COM_PHY_BCR] = { 0xbf008 },
> +	[GCC_PCIE_0_PHY_BCR] = { 0xa9144 },
> +	[GCC_PCIE_0_PHY_NOCSR_COM_PHY_BCR] = { 0xbf00c },
> +	[GCC_PCIE_1_BCR] = { 0x77000 },
> +	[GCC_PCIE_1_LINK_DOWN_BCR] = { 0xae084 },
> +	[GCC_PCIE_1_NOCSR_COM_PHY_BCR] = { 0xae090 },
> +	[GCC_PCIE_1_PHY_BCR] = { 0xae08c },
> +	[GCC_PCIE_1_PHY_NOCSR_COM_PHY_BCR] = { 0xae094 },
> +	[GCC_SDCC1_BCR] = { 0x20000 },
> +	[GCC_UFS_PHY_BCR] = { 0x83000 },
> +	[GCC_USB20_PRIM_BCR] = { 0x1c000 },
> +	[GCC_USB2_PHY_PRIM_BCR] = { 0x5c01c },
> +	[GCC_USB2_PHY_SEC_BCR] = { 0x5c020 },
> +	[GCC_USB30_PRIM_BCR] = { 0x1b000 },
> +	[GCC_USB3_DP_PHY_PRIM_BCR] = { 0x5c008 },
> +	[GCC_USB3_PHY_PRIM_BCR] = { 0x5c000 },
> +	[GCC_USB3_PHY_TERT_BCR] = { 0x5c024 },
> +	[GCC_USB3_UNIPHY_MP0_BCR] = { 0x5c00c },
> +	[GCC_USB3_UNIPHY_MP1_BCR] = { 0x5c010 },
> +	[GCC_USB3PHY_PHY_PRIM_BCR] = { 0x5c004 },
> +	[GCC_USB3UNIPHY_PHY_MP0_BCR] = { 0x5c014 },
> +	[GCC_USB3UNIPHY_PHY_MP1_BCR] = { 0x5c018 },
> +	[GCC_USB_PHY_CFG_AHB2PHY_BCR] = { 0x76000 },
> +	[GCC_VIDEO_BCR] = { 0x34000 },
> +};
> +
> +static const struct qcom_power_map qcs8300_gdscs[] = {
> +	[GCC_UFS_PHY_GDSC] = { 0x83004 },
> +	[GCC_USB30_PRIM_GDSC] = { 0x1B004 },
> +};
> +
> +static struct msm_clk_data qcs8300_gcc_data = {
> +	.resets = qcs8300_gcc_resets,
> +	.num_resets = ARRAY_SIZE(qcs8300_gcc_resets),
> +	.clks = qcs8300_clks,
> +	.num_clks = ARRAY_SIZE(qcs8300_clks),
> +
> +	.power_domains = qcs8300_gdscs,
> +	.num_power_domains = ARRAY_SIZE(qcs8300_gdscs),
> +
> +	.enable = qcs8300_enable,
> +	.set_rate = qcs8300_set_rate,
> +};
> +
> +static const struct udevice_id gcc_qcs8300_of_match[] = {
> +	{
> +		.compatible = "qcom,qcs8300-gcc",
> +		.data = (ulong)&qcs8300_gcc_data,
> +	},
> +	{ }
> +};
> +
> +U_BOOT_DRIVER(gcc_qcs8300) = {
> +	.name		= "gcc_qcs8300",
> +	.id		= UCLASS_NOP,
> +	.of_match	= gcc_qcs8300_of_match,
> +	.bind		= qcom_cc_bind,
> +	.flags		= DM_FLAG_PRE_RELOC | DM_FLAG_DEFAULT_PD_CTRL_OFF,
> +};

-- 
Casey (she/they)


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

* Re: [PATCH v1 4/6] phy: qcom: Enable QMP UFS PHY driver for QCS8300
  2025-05-08 11:19 ` [PATCH v1 4/6] phy: qcom: Enable QMP UFS PHY " Balaji Selvanathan
@ 2025-05-09 11:07   ` Casey Connolly
  0 siblings, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 11:07 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom



On 5/8/25 13:19, Balaji Selvanathan wrote:
> Enable QMP phy for QCS8300, referenced from Linux.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>> ---
>   drivers/phy/qcom/phy-qcom-qmp-ufs.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/phy/qcom/phy-qcom-qmp-ufs.c b/drivers/phy/qcom/phy-qcom-qmp-ufs.c
> index 449b9767778..18cc665647f 100644
> --- a/drivers/phy/qcom/phy-qcom-qmp-ufs.c
> +++ b/drivers/phy/qcom/phy-qcom-qmp-ufs.c
> @@ -1469,6 +1469,7 @@ static const struct udevice_id qmp_ufs_ids[] = {
>   	{ .compatible = "qcom,sdm845-qmp-ufs-phy", .data = (ulong)&sdm845_ufsphy_cfg },
>   	{ .compatible = "qcom,sm8150-qmp-ufs-phy", .data = (ulong)&sm8150_ufsphy_cfg },
>   	{ .compatible = "qcom,sm8250-qmp-ufs-phy", .data = (ulong)&sm8250_ufsphy_cfg },
> +	{ .compatible = "qcom,qcs8300-qmp-ufs-phy", .data = (ulong)&sa8775p_ufsphy_cfg },
>   	{ .compatible = "qcom,sm8550-qmp-ufs-phy", .data = (ulong)&sm8550_ufsphy_cfg },
>   	{ .compatible = "qcom,sm8650-qmp-ufs-phy", .data = (ulong)&sm8650_ufsphy_cfg },
>   	{ .compatible = "qcom,sc7280-qmp-ufs-phy", .data = (ulong)&sc7280_ufsphy_cfg, },

-- 
Casey (she/they)


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

* Re: [PATCH v1 5/6] qcom_defconfig: Enable QCS8300 clock driver
  2025-05-08 11:19 ` [PATCH v1 5/6] qcom_defconfig: Enable QCS8300 clock driver Balaji Selvanathan
@ 2025-05-09 11:08   ` Casey Connolly
  0 siblings, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 11:08 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom



On 5/8/25 13:19, Balaji Selvanathan wrote:
> Enable the QCS8300 clock driver in Qualcomm defconfig.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
>   configs/qcom_defconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig
> index 537806450dc..5a3e5aa8e97 100644
> --- a/configs/qcom_defconfig
> +++ b/configs/qcom_defconfig
> @@ -52,6 +52,7 @@ CONFIG_CLK_QCOM_APQ8096=y
>   CONFIG_CLK_QCOM_QCM2290=y
>   CONFIG_CLK_QCOM_QCS404=y
>   CONFIG_CLK_QCOM_SA8775P=y
> +CONFIG_CLK_QCOM_QCS8300=y

Please run "make qcom_defconfig && make savedefconfig && cp defconfig 
configs/qcom_defconfig"

It's fine if there's some other changes. But this needs to be in the 
right order.

With that

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>

>   CONFIG_CLK_QCOM_SDM845=y
>   CONFIG_CLK_QCOM_SM6115=y
>   CONFIG_CLK_QCOM_SM8150=y
-- 
Casey (she/they)


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

* Re: [PATCH v1 6/6] configs: add qcs8300_defconfig
  2025-05-08 11:19 ` [PATCH v1 6/6] configs: add qcs8300_defconfig Balaji Selvanathan
@ 2025-05-09 11:09   ` Casey Connolly
  2025-05-09 15:28   ` Casey Connolly
  1 sibling, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 11:09 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom



On 5/8/25 13:19, Balaji Selvanathan wrote:
> Introduce a defconfig for QCS8300 based boards.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
>   configs/qcs8300_defconfig | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
>   create mode 100644 configs/qcs8300_defconfig
> 
> diff --git a/configs/qcs8300_defconfig b/configs/qcs8300_defconfig
> new file mode 100644
> index 00000000000..06afc45ec33
> --- /dev/null
> +++ b/configs/qcs8300_defconfig
> @@ -0,0 +1,21 @@
> +# Configuration for building U-Boot to be flashed
> +# to the uefi partition of QCM6490 dev boards with

I don't think so

> +# the "Linux Embedded" partition layout (which have
> +# a dedicated "uefi" partition for edk2/U-Boot)
> +
> +#include "qcom_defconfig"
> +
> +# Otherwise buildman thinks this isn't an ARM platform
> +CONFIG_ARM=y
> +
> +CONFIG_DEBUG_UART=y
> +CONFIG_DEBUG_UART_ANNOUNCE=y
> +CONFIG_DEBUG_UART_BASE=0x99C000
> +CONFIG_DEBUG_UART_MSM_GENI=y
> +CONFIG_DEBUG_UART_CLOCK=14745600
> +
> +# Address where U-Boot will be loaded
> +CONFIG_TEXT_BASE=0xaf000000
> +CONFIG_REMAKE_ELF=y
> +
> +CONFIG_DEFAULT_DEVICE_TREE="qcom/qcs8300-ride"

-- 
Casey (she/they)


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

* Re: [PATCH v1 2/6] dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup
  2025-05-08 11:19 ` [PATCH v1 2/6] dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup Balaji Selvanathan
@ 2025-05-09 11:10   ` Casey Connolly
  0 siblings, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 11:10 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom



On 5/8/25 13:19, Balaji Selvanathan wrote:
> Added the memory entry to bootup.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>

Woof we need to get the SMEM parsing sorted...

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>

> ---
>   arch/arm/dts/qcs8300-ride-u-boot.dtsi | 19 +++++++++++++++++++
>   1 file changed, 19 insertions(+)
>   create mode 100644 arch/arm/dts/qcs8300-ride-u-boot.dtsi
> 
> diff --git a/arch/arm/dts/qcs8300-ride-u-boot.dtsi b/arch/arm/dts/qcs8300-ride-u-boot.dtsi
> new file mode 100644
> index 00000000000..8c353ace71e
> --- /dev/null
> +++ b/arch/arm/dts/qcs8300-ride-u-boot.dtsi
> @@ -0,0 +1,19 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +
> +/ {
> +	memory@80000000 {
> +		device_type = "memory";
> +		reg = <0x0 0x80000000 0x0 0x11a80000>,
> +		      <0x0 0xc0000000 0x0 0x10000000>,
> +		      <0x0 0xd3100000 0x0 0x26b00000>,
> +		      <0xe 0x80000000 0x1 0x00000000>,
> +		      <0xa 0x80000000 0x1 0x80000000>,
> +		      <0x0 0xb0800000 0x0 0x0f200000>,
> +		      <0x0 0xd0100000 0x0 0x01800000>,
> +		      <0x0 0x91b00000 0x0 0x1e500000>;
> +	};
> +};
> +
-- 
Casey (she/they)


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

* Re: [PATCH v1 6/6] configs: add qcs8300_defconfig
  2025-05-08 11:19 ` [PATCH v1 6/6] configs: add qcs8300_defconfig Balaji Selvanathan
  2025-05-09 11:09   ` Casey Connolly
@ 2025-05-09 15:28   ` Casey Connolly
  1 sibling, 0 replies; 15+ messages in thread
From: Casey Connolly @ 2025-05-09 15:28 UTC (permalink / raw)
  To: Balaji Selvanathan, trini, neil.armstrong, sumit.garg, lukma,
	seanga2, ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu,
	lehmanju, bhupesh.linux, u-boot, u-boot-qcom

Hi Balaji,

On 5/8/25 13:19, Balaji Selvanathan wrote:
> Introduce a defconfig for QCS8300 based boards.
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
>   configs/qcs8300_defconfig | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
>   create mode 100644 configs/qcs8300_defconfig
> 
> diff --git a/configs/qcs8300_defconfig b/configs/qcs8300_defconfig
> new file mode 100644
> index 00000000000..06afc45ec33
> --- /dev/null
> +++ b/configs/qcs8300_defconfig

Also, this should be named qcom_qcs8300_defconfig so that 
get_maintainers will work properly.

Kind regards,

> @@ -0,0 +1,21 @@
> +# Configuration for building U-Boot to be flashed
> +# to the uefi partition of QCM6490 dev boards with
> +# the "Linux Embedded" partition layout (which have
> +# a dedicated "uefi" partition for edk2/U-Boot)
> +
> +#include "qcom_defconfig"
> +
> +# Otherwise buildman thinks this isn't an ARM platform
> +CONFIG_ARM=y
> +
> +CONFIG_DEBUG_UART=y
> +CONFIG_DEBUG_UART_ANNOUNCE=y
> +CONFIG_DEBUG_UART_BASE=0x99C000
> +CONFIG_DEBUG_UART_MSM_GENI=y
> +CONFIG_DEBUG_UART_CLOCK=14745600
> +
> +# Address where U-Boot will be loaded
> +CONFIG_TEXT_BASE=0xaf000000
> +CONFIG_REMAKE_ELF=y
> +
> +CONFIG_DEFAULT_DEVICE_TREE="qcom/qcs8300-ride"

-- 
Casey (she/they)


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

* Re: [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes
  2025-05-08 11:19 ` [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes Balaji Selvanathan
@ 2025-05-12  7:08   ` Sumit Garg
  0 siblings, 0 replies; 15+ messages in thread
From: Sumit Garg @ 2025-05-12  7:08 UTC (permalink / raw)
  To: Balaji Selvanathan
  Cc: trini, casey.connolly, neil.armstrong, lukma, seanga2,
	ilias.apalodimas, me, sjg, quic_varada, sughosh.ganu, lehmanju,
	bhupesh.linux, u-boot, u-boot-qcom

Hi Balaji,

On Thu, May 08, 2025 at 04:49:47PM +0530, Balaji Selvanathan wrote:
> Added QCS8300 Power Domain Indexes in dt-bindings/power/qcom-rpmhpd.h
> 
> Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> ---
>  .../include/dt-bindings/power/qcom-rpmpd.h    | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h b/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h
> index df599bf4622..50291f918c2 100644
> --- a/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h
> +++ b/dts/upstream/include/dt-bindings/power/qcom-rpmpd.h

Please don't directly patch dts/upstream subtree. Rather you should
follow documentation here [1] as to how you can cherry pick patches from
upstream dt-rebasing tree.

Also, are these DT bindings header changes posted in Linux kernel
upstream?

[1] https://docs.u-boot.org/en/latest/develop/devicetree/control.html#resyncing-with-devicetree-rebasing

-Sumit

> @@ -4,6 +4,25 @@
>  #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
>  #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
>  
> +/* QCS8300 Power Domain Indexes */
> +#define QCS8300_CX	0
> +#define QCS8300_CX_AO	1
> +#define QCS8300_DDR	2
> +#define QCS8300_EBI	3
> +#define QCS8300_GFX	4
> +#define QCS8300_LCX	5
> +#define QCS8300_LMX	6
> +#define QCS8300_MMCX	7
> +#define QCS8300_MMCX_AO	8
> +#define QCS8300_MSS	9
> +#define QCS8300_MX	10
> +#define QCS8300_MX_AO	11
> +#define QCS8300_MXC	12
> +#define QCS8300_MXC_AO	13
> +#define QCS8300_NSP0	14
> +#define QCS8300_NSP1	15
> +#define QCS8300_XO	16
> +
>  /* SA8775P Power Domain Indexes */
>  #define SA8775P_CX	0
>  #define SA8775P_CX_AO	1
> -- 
> 2.34.1
> 

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

end of thread, other threads:[~2025-05-12  7:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-08 11:19 [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Balaji Selvanathan
2025-05-08 11:19 ` [PATCH v1 1/6] dt-bindings: power: rpmpd: Add QCS8300 Power Domain Indexes Balaji Selvanathan
2025-05-12  7:08   ` Sumit Garg
2025-05-08 11:19 ` [PATCH v1 2/6] dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootup Balaji Selvanathan
2025-05-09 11:10   ` Casey Connolly
2025-05-08 11:19 ` [PATCH v1 3/6] clk/qcom: qcs8300: Add GCC clock driver for QCS8300 Balaji Selvanathan
2025-05-09 11:07   ` Casey Connolly
2025-05-08 11:19 ` [PATCH v1 4/6] phy: qcom: Enable QMP UFS PHY " Balaji Selvanathan
2025-05-09 11:07   ` Casey Connolly
2025-05-08 11:19 ` [PATCH v1 5/6] qcom_defconfig: Enable QCS8300 clock driver Balaji Selvanathan
2025-05-09 11:08   ` Casey Connolly
2025-05-08 11:19 ` [PATCH v1 6/6] configs: add qcs8300_defconfig Balaji Selvanathan
2025-05-09 11:09   ` Casey Connolly
2025-05-09 15:28   ` Casey Connolly
2025-05-09 11:04 ` [PATCH v1 0/6] Introduce support for QCS8300 SoC based IQ8 Series Platform Casey Connolly

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.