U-Boot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox