* [PATCH v4 0/4] Enable IPQ9574 RDP433 eMMC variant
@ 2026-02-02 7:33 Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC Varadarajan Narayanan
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Varadarajan Narayanan @ 2026-02-02 7:33 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
Cc: sumit.garg, dmitry.baryshkov, Varadarajan Narayanan
RDP433 can have NAND or eMMC based on a board level rework. Since the
same GPIOS are used for both the interfaces, only one of them can be
used. Add a new DTS file to disable NAND and enable eMMC.
v4: Move sdhc properties to SoC dtsi.
Disable nand in ipq9574-rdp433-emmc.dts
v3: Disable nand in ipq9574-rdp-common.dtsi and enable it where
required.
Add r-b tags
https://lore.kernel.org/r/20260129062825.666457-1-varadarajan.narayanan@oss.qualcomm.com
v2: Create two separate DTS files for the NAND and eMMC variants as
suggested in the review.
https://lore.kernel.org/linux-arm-msm/20260123120016.3671812-1-varadarajan.narayanan@oss.qualcomm.com/
v1: https://lore.kernel.org/linux-arm-msm/20260102104638.3802715-1-varadarajan.narayanan@oss.qualcomm.com/
Varadarajan Narayanan (4):
arm64: dts: qcom: ipq9574: Add gpio details for eMMC
arm64: dts: qcom: ipq9574-rdp433: Reorganize DTS to introduce eMMC
support
dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant
arm64: dts: qcom: ipq9574: Enable eMMC variant
.../devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 2 +-
.../boot/dts/qcom/ipq9574-rdp-common.dtsi | 32 +++++
.../boot/dts/qcom/ipq9574-rdp433-common.dtsi | 121 ++++++++++++++++++
.../boot/dts/qcom/ipq9574-rdp433-emmc.dts | 24 ++++
arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts | 116 +----------------
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 9 ++
7 files changed, 189 insertions(+), 116 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
base-commit: fcb70a56f4d81450114034b2c61f48ce7444a0e2
--
2.34.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC
2026-02-02 7:33 [PATCH v4 0/4] Enable IPQ9574 RDP433 eMMC variant Varadarajan Narayanan
@ 2026-02-02 7:33 ` Varadarajan Narayanan
2026-04-19 22:38 ` Alex G.
2026-02-02 7:33 ` [PATCH v4 2/4] arm64: dts: qcom: ipq9574-rdp433: Reorganize DTS to introduce eMMC support Varadarajan Narayanan
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Varadarajan Narayanan @ 2026-02-02 7:33 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
Cc: sumit.garg, dmitry.baryshkov, Varadarajan Narayanan,
Konrad Dybcio
The RDP433 has NAND and eMMC variants. Presently, only NAND variant is
supported. To enable support for eMMC variant, add the relevant GPIO
related information.
Do not enable NAND by default here. Enable it in board specific DTS.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
v4: Move sdhc properties from emmc dts to SoC dtsi
v3: Disable nand in ipq9574-rdp-common.dtsi and enable it where required.
Add 'Reviewed-by: Konrad Dybcio'
---
.../boot/dts/qcom/ipq9574-rdp-common.dtsi | 32 +++++++++++++++++++
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 9 ++++++
2 files changed, 41 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
index bdb396afb992..e4ae79b2fcd9 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
@@ -169,6 +169,38 @@ data-pins {
bias-disable;
};
};
+
+ sdc_default_state: sdc-default-state {
+ clk-pins {
+ pins = "gpio5";
+ function = "sdc_clk";
+ drive-strength = <8>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "gpio4";
+ function = "sdc_cmd";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+
+ data-pins {
+ pins = "gpio0", "gpio1", "gpio2",
+ "gpio3", "gpio6", "gpio7",
+ "gpio8", "gpio9";
+ function = "sdc_data";
+ drive-strength = <8>;
+ bias-pull-up;
+ };
+
+ rclk-pins {
+ pins = "gpio10";
+ function = "sdc_rclk";
+ drive-strength = <8>;
+ bias-pull-down;
+ };
+ };
};
&qpic_bam {
diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 86c9cb9fffc9..4b8c58982869 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -467,6 +467,15 @@ sdhc_1: mmc@7804000 {
clock-names = "iface", "core", "xo", "ice";
non-removable;
supports-cqe;
+ pinctrl-0 = <&sdc_default_state>;
+ pinctrl-names = "default";
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ mmc-hs400-1_8v;
+ mmc-hs400-enhanced-strobe;
+ max-frequency = <384000000>;
+ bus-width = <8>;
+
status = "disabled";
};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 2/4] arm64: dts: qcom: ipq9574-rdp433: Reorganize DTS to introduce eMMC support
2026-02-02 7:33 [PATCH v4 0/4] Enable IPQ9574 RDP433 eMMC variant Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC Varadarajan Narayanan
@ 2026-02-02 7:33 ` Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 3/4] dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable " Varadarajan Narayanan
3 siblings, 0 replies; 10+ messages in thread
From: Varadarajan Narayanan @ 2026-02-02 7:33 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
Cc: sumit.garg, dmitry.baryshkov, Varadarajan Narayanan,
Konrad Dybcio
The RDP433 has NAND and eMMC variants. Presently, only NAND variant is
supported. To enable support for eMMC variant, move the common nodes from
ipq9574-rdp433.dts to ipq9574-rdp433-common.dtsi. ipq9574-rdp433-common.dtsi
will be included in rdp433 NAND and eMMC DT files.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
v4: Not enabling qpic_nand in ipq9574-rdp433.dts as it is enabled in
ipq9574-rdp-common.dtsi
v3: Since qpic_nand is disabled in ipq9574-rdp-common.dtsi, enable it here.
Add 'Reviewed-by: Konrad Dybcio'
v2: Move common nodes into ipq9574-rdp433-common.dtsi
Trim down ipq9574-rdp433.dts and #include rdp433-common.dtsi
---
.../boot/dts/qcom/ipq9574-rdp433-common.dtsi | 121 ++++++++++++++++++
arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts | 116 +----------------
2 files changed, 122 insertions(+), 115 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
new file mode 100644
index 000000000000..3422058ac480
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-common.dtsi
@@ -0,0 +1,121 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * IPQ9574 RDP433 board device tree source
+ *
+ * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+&pcie1_phy {
+ status = "okay";
+};
+
+&pcie1 {
+ pinctrl-0 = <&pcie1_default>;
+ pinctrl-names = "default";
+
+ perst-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+&pcie2_phy {
+ status = "okay";
+};
+
+&pcie2 {
+ pinctrl-0 = <&pcie2_default>;
+ pinctrl-names = "default";
+
+ perst-gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+&pcie3_phy {
+ status = "okay";
+};
+
+&pcie3 {
+ pinctrl-0 = <&pcie3_default>;
+ pinctrl-names = "default";
+
+ perst-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+&tlmm {
+
+ pcie1_default: pcie1-default-state {
+ clkreq-n-pins {
+ pins = "gpio25";
+ function = "pcie1_clk";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio26";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-down;
+ output-low;
+ };
+
+ wake-n-pins {
+ pins = "gpio27";
+ function = "pcie1_wake";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+ };
+
+ pcie2_default: pcie2-default-state {
+ clkreq-n-pins {
+ pins = "gpio28";
+ function = "pcie2_clk";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio29";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-down;
+ output-low;
+ };
+
+ wake-n-pins {
+ pins = "gpio30";
+ function = "pcie2_wake";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+ };
+
+ pcie3_default: pcie3-default-state {
+ clkreq-n-pins {
+ pins = "gpio31";
+ function = "pcie3_clk";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio32";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-pull-up;
+ output-low;
+ };
+
+ wake-n-pins {
+ pins = "gpio33";
+ function = "pcie3_wake";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts b/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts
index 5a546a14998b..6794c9ac0b67 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts
+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433.dts
@@ -8,124 +8,10 @@
/dts-v1/;
-#include <dt-bindings/gpio/gpio.h>
#include "ipq9574-rdp-common.dtsi"
+#include "ipq9574-rdp433-common.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7";
compatible = "qcom,ipq9574-ap-al02-c7", "qcom,ipq9574";
};
-
-&pcie1_phy {
- status = "okay";
-};
-
-&pcie1 {
- pinctrl-0 = <&pcie1_default>;
- pinctrl-names = "default";
-
- perst-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
- status = "okay";
-};
-
-&pcie2_phy {
- status = "okay";
-};
-
-&pcie2 {
- pinctrl-0 = <&pcie2_default>;
- pinctrl-names = "default";
-
- perst-gpios = <&tlmm 29 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
- status = "okay";
-};
-
-&pcie3_phy {
- status = "okay";
-};
-
-&pcie3 {
- pinctrl-0 = <&pcie3_default>;
- pinctrl-names = "default";
-
- perst-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
- status = "okay";
-};
-
-&tlmm {
-
- pcie1_default: pcie1-default-state {
- clkreq-n-pins {
- pins = "gpio25";
- function = "pcie1_clk";
- drive-strength = <6>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio26";
- function = "gpio";
- drive-strength = <8>;
- bias-pull-down;
- output-low;
- };
-
- wake-n-pins {
- pins = "gpio27";
- function = "pcie1_wake";
- drive-strength = <6>;
- bias-pull-up;
- };
- };
-
- pcie2_default: pcie2-default-state {
- clkreq-n-pins {
- pins = "gpio28";
- function = "pcie2_clk";
- drive-strength = <6>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio29";
- function = "gpio";
- drive-strength = <8>;
- bias-pull-down;
- output-low;
- };
-
- wake-n-pins {
- pins = "gpio30";
- function = "pcie2_wake";
- drive-strength = <6>;
- bias-pull-up;
- };
- };
-
- pcie3_default: pcie3-default-state {
- clkreq-n-pins {
- pins = "gpio31";
- function = "pcie3_clk";
- drive-strength = <6>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio32";
- function = "gpio";
- drive-strength = <8>;
- bias-pull-up;
- output-low;
- };
-
- wake-n-pins {
- pins = "gpio33";
- function = "pcie3_wake";
- drive-strength = <6>;
- bias-pull-up;
- };
- };
-};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 3/4] dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant
2026-02-02 7:33 [PATCH v4 0/4] Enable IPQ9574 RDP433 eMMC variant Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 2/4] arm64: dts: qcom: ipq9574-rdp433: Reorganize DTS to introduce eMMC support Varadarajan Narayanan
@ 2026-02-02 7:33 ` Varadarajan Narayanan
2026-02-05 10:01 ` Krzysztof Kozlowski
2026-02-02 7:33 ` [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable " Varadarajan Narayanan
3 siblings, 1 reply; 10+ messages in thread
From: Varadarajan Narayanan @ 2026-02-02 7:33 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
Cc: sumit.garg, dmitry.baryshkov, Varadarajan Narayanan
Document the IPQ9574 AL02-c7 eMMC variant.
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
v4: No changes
v3: No changes
v2: Update dt-bindings to include the new variant
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index d84bd3bca201..28f9a6a166a6 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -323,6 +323,7 @@ properties:
- qcom,ipq9574-ap-al02-c2
- qcom,ipq9574-ap-al02-c6
- qcom,ipq9574-ap-al02-c7
+ - qcom,ipq9574-ap-al02-c7-emmc
- qcom,ipq9574-ap-al02-c8
- qcom,ipq9574-ap-al02-c9
- const: qcom,ipq9574
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable eMMC variant
2026-02-02 7:33 [PATCH v4 0/4] Enable IPQ9574 RDP433 eMMC variant Varadarajan Narayanan
` (2 preceding siblings ...)
2026-02-02 7:33 ` [PATCH v4 3/4] dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant Varadarajan Narayanan
@ 2026-02-02 7:33 ` Varadarajan Narayanan
2026-02-02 14:04 ` Bjorn Andersson
3 siblings, 1 reply; 10+ messages in thread
From: Varadarajan Narayanan @ 2026-02-02 7:33 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel
Cc: sumit.garg, dmitry.baryshkov, Varadarajan Narayanan
RDP433 can have NAND or eMMC based on a board level rework. Since the
same GPIOS are used for both the interfaces, only one of them can be
used. Add a new DTS file to disable NAND and enable eMMC.
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
v4: Move sdhc properties to SoC dtsi.
Disable nand (that is enabled in ipq9574-rdp-common.dtsi) here as
the eMMC variant doesn't have NAND.
v3: As qpic_nand is disabled in ipq9574-rdp-common.dtsi, no need to disable
it here. Just enable eMMC.
---
arch/arm64/boot/dts/qcom/Makefile | 2 +-
.../boot/dts/qcom/ipq9574-rdp433-emmc.dts | 24 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6f34d5ed331c..d5fe12ef4300 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -26,7 +26,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c2.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb
-dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb
+dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb ipq9574-rdp433-emmc.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
new file mode 100644
index 000000000000..9053838ef696
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: BSD-3-Clause-Clear
+/*
+ * IPQ9574 RDP433 (eMMC variant) board device tree source
+ *
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "ipq9574-rdp-common.dtsi"
+#include "ipq9574-rdp433-common.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7 (eMMC)";
+ compatible = "qcom,ipq9574-ap-al02-c7-emmc", "qcom,ipq9574";
+};
+
+&qpic_nand {
+ status = "disabled";
+};
+
+&sdhc_1 {
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable eMMC variant
2026-02-02 7:33 ` [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable " Varadarajan Narayanan
@ 2026-02-02 14:04 ` Bjorn Andersson
2026-02-03 6:05 ` Varadarajan Narayanan
0 siblings, 1 reply; 10+ messages in thread
From: Bjorn Andersson @ 2026-02-02 14:04 UTC (permalink / raw)
To: Varadarajan Narayanan
Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel, sumit.garg, dmitry.baryshkov
On Mon, Feb 02, 2026 at 01:03:22PM +0530, Varadarajan Narayanan wrote:
> RDP433 can have NAND or eMMC based on a board level rework. Since the
> same GPIOS are used for both the interfaces, only one of them can be
> used. Add a new DTS file to disable NAND and enable eMMC.
>
> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> ---
> v4: Move sdhc properties to SoC dtsi.
> Disable nand (that is enabled in ipq9574-rdp-common.dtsi) here as
> the eMMC variant doesn't have NAND.
>
> v3: As qpic_nand is disabled in ipq9574-rdp-common.dtsi, no need to disable
> it here. Just enable eMMC.
> ---
> arch/arm64/boot/dts/qcom/Makefile | 2 +-
> .../boot/dts/qcom/ipq9574-rdp433-emmc.dts | 24 +++++++++++++++++++
> 2 files changed, 25 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 6f34d5ed331c..d5fe12ef4300 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -26,7 +26,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c2.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb
> -dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb ipq9574-rdp433-emmc.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
> dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> new file mode 100644
> index 000000000000..9053838ef696
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> @@ -0,0 +1,24 @@
> +// SPDX-License-Identifier: BSD-3-Clause-Clear
> +/*
> + * IPQ9574 RDP433 (eMMC variant) board device tree source
> + *
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +
> +#include "ipq9574-rdp-common.dtsi"
> +#include "ipq9574-rdp433-common.dtsi"
> +
> +/ {
> + model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7 (eMMC)";
> + compatible = "qcom,ipq9574-ap-al02-c7-emmc", "qcom,ipq9574";
> +};
> +
> +&qpic_nand {
> + status = "disabled";
> +};
I'd prefer you keep optional peripherals/buses disabled in the common
dtsi and enable them in respective dts, this generally gives cleaner
layers.
Was this done on purpose?
Regards,
Bjorn
> +
> +&sdhc_1 {
> + status = "okay";
> +};
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable eMMC variant
2026-02-02 14:04 ` Bjorn Andersson
@ 2026-02-03 6:05 ` Varadarajan Narayanan
2026-02-03 16:51 ` Bjorn Andersson
0 siblings, 1 reply; 10+ messages in thread
From: Varadarajan Narayanan @ 2026-02-03 6:05 UTC (permalink / raw)
To: Bjorn Andersson
Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel, sumit.garg, dmitry.baryshkov
On Mon, Feb 02, 2026 at 08:04:41AM -0600, Bjorn Andersson wrote:
> On Mon, Feb 02, 2026 at 01:03:22PM +0530, Varadarajan Narayanan wrote:
> > RDP433 can have NAND or eMMC based on a board level rework. Since the
> > same GPIOS are used for both the interfaces, only one of them can be
> > used. Add a new DTS file to disable NAND and enable eMMC.
> >
> > Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> > ---
> > v4: Move sdhc properties to SoC dtsi.
> > Disable nand (that is enabled in ipq9574-rdp-common.dtsi) here as
> > the eMMC variant doesn't have NAND.
> >
> > v3: As qpic_nand is disabled in ipq9574-rdp-common.dtsi, no need to disable
> > it here. Just enable eMMC.
> > ---
> > arch/arm64/boot/dts/qcom/Makefile | 2 +-
> > .../boot/dts/qcom/ipq9574-rdp433-emmc.dts | 24 +++++++++++++++++++
> > 2 files changed, 25 insertions(+), 1 deletion(-)
> > create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> >
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index 6f34d5ed331c..d5fe12ef4300 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -26,7 +26,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c2.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb
> > -dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb
> > +dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb ipq9574-rdp433-emmc.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
> > diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > new file mode 100644
> > index 000000000000..9053838ef696
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > @@ -0,0 +1,24 @@
> > +// SPDX-License-Identifier: BSD-3-Clause-Clear
> > +/*
> > + * IPQ9574 RDP433 (eMMC variant) board device tree source
> > + *
> > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "ipq9574-rdp-common.dtsi"
> > +#include "ipq9574-rdp433-common.dtsi"
> > +
> > +/ {
> > + model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7 (eMMC)";
> > + compatible = "qcom,ipq9574-ap-al02-c7-emmc", "qcom,ipq9574";
> > +};
> > +
> > +&qpic_nand {
> > + status = "disabled";
> > +};
>
> I'd prefer you keep optional peripherals/buses disabled in the common
> dtsi and enable them in respective dts, this generally gives cleaner
> layers.
>
> Was this done on purpose?
Yes. Presently it qpic_nand is enabled in ipq9574-rdp-common.dtsi [1].
Since removing that will impact other boards that include
ipq9574-rdp-common.dtsi chose to disable it here.
If this is not ok, will disable it in ipq9574-rdp-common.dtsi and enable
qpic_nand in other board DT files that include ipq9574-rdp-common.dtsi.
Please let me know.
Thanks
Varada
1 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi#n182
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable eMMC variant
2026-02-03 6:05 ` Varadarajan Narayanan
@ 2026-02-03 16:51 ` Bjorn Andersson
0 siblings, 0 replies; 10+ messages in thread
From: Bjorn Andersson @ 2026-02-03 16:51 UTC (permalink / raw)
To: Varadarajan Narayanan
Cc: konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm, devicetree,
linux-kernel, sumit.garg, dmitry.baryshkov
On Tue, Feb 03, 2026 at 11:35:49AM +0530, Varadarajan Narayanan wrote:
> On Mon, Feb 02, 2026 at 08:04:41AM -0600, Bjorn Andersson wrote:
> > On Mon, Feb 02, 2026 at 01:03:22PM +0530, Varadarajan Narayanan wrote:
> > > RDP433 can have NAND or eMMC based on a board level rework. Since the
> > > same GPIOS are used for both the interfaces, only one of them can be
> > > used. Add a new DTS file to disable NAND and enable eMMC.
> > >
> > > Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> > > ---
> > > v4: Move sdhc properties to SoC dtsi.
> > > Disable nand (that is enabled in ipq9574-rdp-common.dtsi) here as
> > > the eMMC variant doesn't have NAND.
> > >
> > > v3: As qpic_nand is disabled in ipq9574-rdp-common.dtsi, no need to disable
> > > it here. Just enable eMMC.
> > > ---
> > > arch/arm64/boot/dts/qcom/Makefile | 2 +-
> > > .../boot/dts/qcom/ipq9574-rdp433-emmc.dts | 24 +++++++++++++++++++
> > > 2 files changed, 25 insertions(+), 1 deletion(-)
> > > create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > > index 6f34d5ed331c..d5fe12ef4300 100644
> > > --- a/arch/arm64/boot/dts/qcom/Makefile
> > > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > > @@ -26,7 +26,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
> > > dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb
> > > dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c2.dtb
> > > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb
> > > -dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb
> > > +dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb ipq9574-rdp433-emmc.dtb
> > > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
> > > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
> > > dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
> > > diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > > new file mode 100644
> > > index 000000000000..9053838ef696
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > > @@ -0,0 +1,24 @@
> > > +// SPDX-License-Identifier: BSD-3-Clause-Clear
> > > +/*
> > > + * IPQ9574 RDP433 (eMMC variant) board device tree source
> > > + *
> > > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> > > + */
> > > +
> > > +/dts-v1/;
> > > +
> > > +#include "ipq9574-rdp-common.dtsi"
> > > +#include "ipq9574-rdp433-common.dtsi"
> > > +
> > > +/ {
> > > + model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C7 (eMMC)";
> > > + compatible = "qcom,ipq9574-ap-al02-c7-emmc", "qcom,ipq9574";
> > > +};
> > > +
> > > +&qpic_nand {
> > > + status = "disabled";
> > > +};
> >
> > I'd prefer you keep optional peripherals/buses disabled in the common
> > dtsi and enable them in respective dts, this generally gives cleaner
> > layers.
> >
> > Was this done on purpose?
>
> Yes. Presently it qpic_nand is enabled in ipq9574-rdp-common.dtsi [1].
> Since removing that will impact other boards that include
> ipq9574-rdp-common.dtsi chose to disable it here.
>
This is not a concern. Don't be afraid of fixing adjacent things to make
the whole look better.
> If this is not ok, will disable it in ipq9574-rdp-common.dtsi and enable
> qpic_nand in other board DT files that include ipq9574-rdp-common.dtsi.
> Please let me know.
>
Please do.
Regards,
Bjorn
> Thanks
> Varada
>
> 1 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi#n182
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 3/4] dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant
2026-02-02 7:33 ` [PATCH v4 3/4] dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant Varadarajan Narayanan
@ 2026-02-05 10:01 ` Krzysztof Kozlowski
0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-05 10:01 UTC (permalink / raw)
To: Varadarajan Narayanan
Cc: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel, sumit.garg, dmitry.baryshkov
On Mon, Feb 02, 2026 at 01:03:21PM +0530, Varadarajan Narayanan wrote:
> Document the IPQ9574 AL02-c7 eMMC variant.
>
> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC
2026-02-02 7:33 ` [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC Varadarajan Narayanan
@ 2026-04-19 22:38 ` Alex G.
0 siblings, 0 replies; 10+ messages in thread
From: Alex G. @ 2026-04-19 22:38 UTC (permalink / raw)
To: andersson, konradybcio, robh, krzk+dt, conor+dt, linux-arm-msm,
devicetree, linux-kernel, Varadarajan Narayanan
Cc: sumit.garg, dmitry.baryshkov, Varadarajan Narayanan,
Konrad Dybcio
On Monday, February 2, 2026 1:33:19 AM Central Daylight Time Varadarajan
Narayanan wrote:
Hi Varadarajan,
> The RDP433 has NAND and eMMC variants. Presently, only NAND variant is
> supported. To enable support for eMMC variant, add the relevant GPIO
> related information.
>
> Do not enable NAND by default here. Enable it in board specific DTS.
>
This commit references sdc_default_state in the .dtsi file, without defining it.
It creates a silent dependency on the board .dts, who must now define the pins.
This makes no sense to me for boards that don't have eMMC. As an example, it
breaks most downstream OpenWRT boards.
Was this new dependency accidental?
Alex
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Varadarajan Narayanan
> <varadarajan.narayanan@oss.qualcomm.com> ---
> v4: Move sdhc properties from emmc dts to SoC dtsi
>
> v3: Disable nand in ipq9574-rdp-common.dtsi and enable it where required.
> Add 'Reviewed-by: Konrad Dybcio'
> ---
> .../boot/dts/qcom/ipq9574-rdp-common.dtsi | 32 +++++++++++++++++++
> arch/arm64/boot/dts/qcom/ipq9574.dtsi | 9 ++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
> b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi index
> bdb396afb992..e4ae79b2fcd9 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
> @@ -169,6 +169,38 @@ data-pins {
> bias-disable;
> };
> };
> +
> + sdc_default_state: sdc-default-state {
> + clk-pins {
> + pins = "gpio5";
> + function = "sdc_clk";
> + drive-strength = <8>;
> + bias-disable;
> + };
> +
> + cmd-pins {
> + pins = "gpio4";
> + function = "sdc_cmd";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> +
> + data-pins {
> + pins = "gpio0", "gpio1", "gpio2",
> + "gpio3", "gpio6", "gpio7",
> + "gpio8", "gpio9";
> + function = "sdc_data";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> +
> + rclk-pins {
> + pins = "gpio10";
> + function = "sdc_rclk";
> + drive-strength = <8>;
> + bias-pull-down;
> + };
> + };
> };
>
> &qpic_bam {
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> b/arch/arm64/boot/dts/qcom/ipq9574.dtsi index 86c9cb9fffc9..4b8c58982869
> 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> @@ -467,6 +467,15 @@ sdhc_1: mmc@7804000 {
> clock-names = "iface", "core", "xo", "ice";
> non-removable;
> supports-cqe;
> + pinctrl-0 = <&sdc_default_state>;
> + pinctrl-names = "default";
> + mmc-ddr-1_8v;
> + mmc-hs200-1_8v;
> + mmc-hs400-1_8v;
> + mmc-hs400-enhanced-strobe;
> + max-frequency = <384000000>;
> + bus-width = <8>;
> +
> status = "disabled";
> };
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-04-19 22:38 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-02 7:33 [PATCH v4 0/4] Enable IPQ9574 RDP433 eMMC variant Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC Varadarajan Narayanan
2026-04-19 22:38 ` Alex G.
2026-02-02 7:33 ` [PATCH v4 2/4] arm64: dts: qcom: ipq9574-rdp433: Reorganize DTS to introduce eMMC support Varadarajan Narayanan
2026-02-02 7:33 ` [PATCH v4 3/4] dt-bindings: arm: qcom: Add IPQ9574 AL02-c7 eMMC variant Varadarajan Narayanan
2026-02-05 10:01 ` Krzysztof Kozlowski
2026-02-02 7:33 ` [PATCH v4 4/4] arm64: dts: qcom: ipq9574: Enable " Varadarajan Narayanan
2026-02-02 14:04 ` Bjorn Andersson
2026-02-03 6:05 ` Varadarajan Narayanan
2026-02-03 16:51 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox