* [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.