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>
---
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 | 29 +++++++++++++++++++
2 files changed, 30 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..249b8e07db8f
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
@@ -0,0 +1,29 @@
+// 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";
+};
+
+&sdhc_1 {
+ 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 = "okay";
+};
--
2.34.1
Hi Varadarajan, kernel test robot noticed the following build errors: [auto build test ERROR on fcb70a56f4d81450114034b2c61f48ce7444a0e2] url: https://github.com/intel-lab-lkp/linux/commits/Varadarajan-Narayanan/arm64-dts-qcom-ipq9574-Add-gpio-details-for-eMMC/20260129-143219 base: fcb70a56f4d81450114034b2c61f48ce7444a0e2 patch link: https://lore.kernel.org/r/20260129062825.666457-5-varadarajan.narayanan%40oss.qualcomm.com patch subject: [PATCH v3 4/4] arm64: dts: qcom: ipq9574: Enable eMMC variant config: arm64-randconfig-001-20260129 (https://download.01.org/0day-ci/archive/20260130/202601301122.Oy62xjdX-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 10.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260130/202601301122.Oy62xjdX-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202601301122.Oy62xjdX-lkp@intel.com/ All errors (new ones prefixed by >>): >> make[4]: *** No rule to make target 'arch/arm64/boot/dts/qcom/ipq9574-rdp433.dtb', needed by 'arch/arm64/boot/dts/qcom/'. make[4]: Target 'arch/arm64/boot/dts/qcom/' not remade because of errors. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
On 1/29/26 7:28 AM, 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>
> ---
> 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 | 29 +++++++++++++++++++
> 2 files changed, 30 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..249b8e07db8f
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> @@ -0,0 +1,29 @@
> +// 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";
> +};
> +
> +&sdhc_1 {
> + 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>;
These are all properties of the controller, which the mmc core
later validates against the properties of the card, please move them
to the SoC DTSI
> + bus-width = <8>;
This is arguably a property of the board, but in reality it's so
common that it may as well reside in the SoC dtsi too
I'm a little surprised to see no power supplies, are they always-on?
Konrad
On Thu, Jan 29, 2026 at 01:25:44PM +0100, Konrad Dybcio wrote:
> On 1/29/26 7:28 AM, 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>
> > ---
> > 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 | 29 +++++++++++++++++++
> > 2 files changed, 30 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..249b8e07db8f
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > @@ -0,0 +1,29 @@
> > +// 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";
> > +};
> > +
> > +&sdhc_1 {
> > + 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>;
>
> These are all properties of the controller, which the mmc core
> later validates against the properties of the card, please move them
> to the SoC DTSI
>
> > + bus-width = <8>;
>
> This is arguably a property of the board, but in reality it's so
> common that it may as well reside in the SoC dtsi too
>
> I'm a little surprised to see no power supplies, are they always-on?
Checked with the board person. He confirmed that they are always-on.
Have posted v4 [1] addressing the above comments. Please take a look.
Thanks
1 - https://lore.kernel.org/linux-arm-msm/20260202073322.259534-1-varadarajan.narayanan@oss.qualcomm.com/
On Mon, Feb 02, 2026 at 01:06:59PM +0530, Varadarajan Narayanan wrote:
> On Thu, Jan 29, 2026 at 01:25:44PM +0100, Konrad Dybcio wrote:
> > On 1/29/26 7:28 AM, 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>
> > > ---
> > > 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 | 29 +++++++++++++++++++
> > > 2 files changed, 30 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..249b8e07db8f
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp433-emmc.dts
> > > @@ -0,0 +1,29 @@
> > > +// 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";
> > > +};
> > > +
> > > +&sdhc_1 {
> > > + 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>;
> >
> > These are all properties of the controller, which the mmc core
> > later validates against the properties of the card, please move them
> > to the SoC DTSI
> >
> > > + bus-width = <8>;
> >
> > This is arguably a property of the board, but in reality it's so
> > common that it may as well reside in the SoC dtsi too
> >
> > I'm a little surprised to see no power supplies, are they always-on?
>
> Checked with the board person. He confirmed that they are always-on.
>
> Have posted v4 [1] addressing the above comments. Please take a look.
It would be nice at least to have a comment or, better, describe the
fixed regulators.
>
> Thanks
>
> 1 - https://lore.kernel.org/linux-arm-msm/20260202073322.259534-1-varadarajan.narayanan@oss.qualcomm.com/
--
With best wishes
Dmitry
Dmitry, > > > I'm a little surprised to see no power supplies, are they always-on? > > > > Checked with the board person. He confirmed that they are always-on. > > > > Have posted v4 [1] addressing the above comments. Please take a look. > > It would be nice at least to have a comment or, better, describe the > fixed regulators. Have posted v5 [1] with regulators. Please review. Thanks Varada 1 - https://lore.kernel.org/linux-arm-msm/20260205085936.3220108-1-varadarajan.narayanan@oss.qualcomm.com/
© 2016 - 2026 Red Hat, Inc.