All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] qcom: Add support for Thundercomm RUBIK Pi 3
@ 2026-06-24 12:45 Hongyang Zhao
  2026-06-24 12:45 ` [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi Hongyang Zhao
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-06-24 12:45 UTC (permalink / raw)
  To: u-boot, Sumit Garg, u-boot-qcom
  Cc: Tom Rini, Casey Connolly, Neil Armstrong, Simon Glass,
	David Lechner, Peng Fan, Julien Stephan, Kory Maincent,
	Kuan-Wei Chiu, Raymond Mao, Marek Vasut, Quentin Schulz,
	Stefan Roese, Philip Molloy, Balaji Selvanathan, Jerome Forissier,
	Roger Shimizu, Hongyang Zhao

Add initial U-Boot support for the Thundercomm RUBIK Pi 3,
a QCS6490-based development board with 8 GiB LPDDR4x memory.

The series adds the board-specific U-Boot device tree override,
a defconfig, and board documentation.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
---
Changes in v2:
- Rename the defconfig to qcom_qcs6490_rubikpi3_defconfig.
- Drop the MAINTAINERS update; the existing qcom matching covers it.
- Add instructions for entering EDL mode on RUBIK Pi 3.
- Update the documentation for the renamed defconfig.
- Link to v1: https://lore.kernel.org/r/20260617-qcs6490-rubikpi3-v1-0-495f618a1e4c@thundersoft.com

---
Hongyang Zhao (3):
      dts: qcs6490-rubikpi3: Add U-Boot dtsi
      configs: Add qcom_qcs6490_rubikpi3_defconfig
      doc: board: qualcomm: Document RUBIK Pi 3

 .../dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi   | 20 +++++++
 configs/qcom_qcs6490_rubikpi3_defconfig            |  7 +++
 doc/board/qualcomm/index.rst                       |  1 +
 doc/board/qualcomm/rubikpi3.rst                    | 63 ++++++++++++++++++++++
 4 files changed, 91 insertions(+)
---
base-commit: 9f16b258e5632d74fa4a1c2c93bea4474e05234b
change-id: 20260617-qcs6490-rubikpi3-6271e9be6a7a

Best regards,
-- 
Hongyang Zhao <hongyang.zhao@thundersoft.com>


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

* [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi
  2026-06-24 12:45 [PATCH v2 0/3] qcom: Add support for Thundercomm RUBIK Pi 3 Hongyang Zhao
@ 2026-06-24 12:45 ` Hongyang Zhao
  2026-06-30 16:17   ` Casey Connolly
  2026-06-24 12:45 ` [PATCH v2 2/3] configs: Add qcom_qcs6490_rubikpi3_defconfig Hongyang Zhao
  2026-06-24 12:45 ` [PATCH v2 3/3] doc: board: qualcomm: Document RUBIK Pi 3 Hongyang Zhao
  2 siblings, 1 reply; 6+ messages in thread
From: Hongyang Zhao @ 2026-06-24 12:45 UTC (permalink / raw)
  To: u-boot, Sumit Garg, u-boot-qcom
  Cc: Tom Rini, Casey Connolly, Neil Armstrong, Simon Glass,
	David Lechner, Peng Fan, Julien Stephan, Kory Maincent,
	Kuan-Wei Chiu, Raymond Mao, Marek Vasut, Quentin Schulz,
	Stefan Roese, Philip Molloy, Balaji Selvanathan, Jerome Forissier,
	Roger Shimizu, Hongyang Zhao

Add the board-specific U-Boot device tree overrides for the
Thundercomm RUBIK Pi 3.

When U-Boot is loaded as the primary bootloader, no previous stage
provides the memory layout. Describe the 8 GiB LPDDR4x layout locally
so U-Boot can use the available DRAM.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
 .../arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi b/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi
new file mode 100644
index 00000000000..8518cd402d0
--- /dev/null
+++ b/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/ {
+	/*
+	 * When running as the primary bootloader there is no prior stage to
+	 * populate the memory layout for us. We should have multiple nodes
+	 * here, but ABL does not like that.
+	 */
+	memory@80000000 {
+		device_type = "memory";
+		reg = <0 0x80000000 0 0x39700000>,
+		      <0 0xc0000000 0 0x01800000>,
+		      <0 0xc3400000 0 0xbcc00000>,
+		      <1 0x80000000 1 0x00000000>;
+	};
+};
+
+// RAM Entry 0 : Base 0x0080000000  Size 0x0039700000
+// RAM Entry 1 : Base 0x00C0000000  Size 0x0001800000
+// RAM Entry 2 : Base 0x00C3400000  Size 0x00BCC00000
+// RAM Entry 3 : Base 0x0180000000  Size 0x0100000000

-- 
2.43.0


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

* [PATCH v2 2/3] configs: Add qcom_qcs6490_rubikpi3_defconfig
  2026-06-24 12:45 [PATCH v2 0/3] qcom: Add support for Thundercomm RUBIK Pi 3 Hongyang Zhao
  2026-06-24 12:45 ` [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi Hongyang Zhao
@ 2026-06-24 12:45 ` Hongyang Zhao
  2026-06-24 12:45 ` [PATCH v2 3/3] doc: board: qualcomm: Document RUBIK Pi 3 Hongyang Zhao
  2 siblings, 0 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-06-24 12:45 UTC (permalink / raw)
  To: u-boot, Sumit Garg, u-boot-qcom
  Cc: Tom Rini, Casey Connolly, Neil Armstrong, Simon Glass,
	David Lechner, Peng Fan, Julien Stephan, Kory Maincent,
	Kuan-Wei Chiu, Raymond Mao, Marek Vasut, Quentin Schulz,
	Stefan Roese, Philip Molloy, Balaji Selvanathan, Jerome Forissier,
	Roger Shimizu, Hongyang Zhao

Add a defconfig for building U-Boot for the Thundercomm RUBIK Pi 3.

The board reuses the existing QCM6490 configuration and selects the
RUBIK Pi 3 device tree.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
---
 configs/qcom_qcs6490_rubikpi3_defconfig | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/configs/qcom_qcs6490_rubikpi3_defconfig b/configs/qcom_qcs6490_rubikpi3_defconfig
new file mode 100644
index 00000000000..1d56659c0c5
--- /dev/null
+++ b/configs/qcom_qcs6490_rubikpi3_defconfig
@@ -0,0 +1,7 @@
+# Configuration for building U-Boot to be flashed
+# to the uefi partition of Thundercomm RUBIK Pi 3
+# with the "Linux Embedded" partition layout.
+
+#include "qcm6490_defconfig"
+
+CONFIG_DEFAULT_DEVICE_TREE="qcom/qcs6490-thundercomm-rubikpi3"

-- 
2.43.0


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

* [PATCH v2 3/3] doc: board: qualcomm: Document RUBIK Pi 3
  2026-06-24 12:45 [PATCH v2 0/3] qcom: Add support for Thundercomm RUBIK Pi 3 Hongyang Zhao
  2026-06-24 12:45 ` [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi Hongyang Zhao
  2026-06-24 12:45 ` [PATCH v2 2/3] configs: Add qcom_qcs6490_rubikpi3_defconfig Hongyang Zhao
@ 2026-06-24 12:45 ` Hongyang Zhao
  2 siblings, 0 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-06-24 12:45 UTC (permalink / raw)
  To: u-boot, Sumit Garg, u-boot-qcom
  Cc: Tom Rini, Casey Connolly, Neil Armstrong, Simon Glass,
	David Lechner, Peng Fan, Julien Stephan, Kory Maincent,
	Kuan-Wei Chiu, Raymond Mao, Marek Vasut, Quentin Schulz,
	Stefan Roese, Philip Molloy, Balaji Selvanathan, Jerome Forissier,
	Roger Shimizu, Hongyang Zhao

Add build, flashing, and EDL recovery instructions for running U-Boot on
the Thundercomm RUBIK Pi 3, and include the page in the Qualcomm board
documentation index.

Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
---
 doc/board/qualcomm/index.rst    |  1 +
 doc/board/qualcomm/rubikpi3.rst | 63 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)

diff --git a/doc/board/qualcomm/index.rst b/doc/board/qualcomm/index.rst
index 3238a68e859..5bd9714d927 100644
--- a/doc/board/qualcomm/index.rst
+++ b/doc/board/qualcomm/index.rst
@@ -11,6 +11,7 @@ Qualcomm
    dragonboard410c
    dragonwing
    rb3gen2
+   rubikpi3
    iq8
    phones
    rdp
diff --git a/doc/board/qualcomm/rubikpi3.rst b/doc/board/qualcomm/rubikpi3.rst
new file mode 100644
index 00000000000..ff22e591b76
--- /dev/null
+++ b/doc/board/qualcomm/rubikpi3.rst
@@ -0,0 +1,63 @@
+.. SPDX-License-Identifier: GPL-2.0+
+.. sectionauthor:: Hongyang Zhao <hongyang.zhao@thundersoft.com>
+
+Thundercomm RUBIK Pi 3
+======================
+
+The RUBIK Pi 3 is a development board based on the Qualcomm QCS6490 SoC,
+with 8 GiB LPDDR4x memory and 128 GiB UFS 2.2 storage. More information
+can be found on `Thundercomm's product page`_.
+
+U-Boot can be used as a replacement for Qualcomm's original EDK2 bootloader
+by flashing it directly to the ``uefi_a`` (or ``uefi_b``) partition.
+
+.. _Thundercomm's product page: https://www.thundercomm.com/rubik-pi-3/en/docs/about-rubikpi/
+
+Installation
+------------
+
+First, set up ``CROSS_COMPILE`` for aarch64. Then, build U-Boot for
+``qcom_qcs6490_rubikpi3``::
+
+  $ export CROSS_COMPILE=<aarch64 toolchain prefix>
+  $ make qcom_qcs6490_rubikpi3_defconfig
+  $ make -j8
+
+This will build ``u-boot.elf`` in the configured output directory.
+
+Although the RUBIK Pi 3 does not have secure boot set up by default,
+the firmware still expects firmware ELF images to be "signed". The signature
+does not provide any security in this case, but it provides the firmware with
+some required metadata.
+
+To "sign" ``u-boot.elf`` you can use e.g. `qtestsign`_::
+
+  $ qtestsign -v6 aboot -o u-boot.mbn u-boot.elf
+
+Then install the resulting ``u-boot.mbn`` to the ``uefi_a`` partition
+on your device with ``fastboot flash uefi_a u-boot.mbn``.
+
+U-Boot should be running after a reboot (``fastboot reboot``).
+
+Note that fastboot may not be available after replacing the original firmware.
+To restore the original firmware, or to install a new version of U-Boot, EDL
+mode can be used with the firehose loader binary appropriate for the board.
+
+To enter EDL mode manually, disconnect the power supply and USB-C cable, press
+and hold the EDL button, connect the power supply, then connect the USB-C cable
+while still holding the EDL button. Wait until the host detects the board as a
+Qualcomm 9008 device, then release the button. See `Thundercomm's EDL
+instructions`_ for the connector and button locations.
+
+If the stock Ubuntu image is still running, EDL mode can also be entered from a
+UART, SSH, or local terminal::
+
+  $ sudo reboot edl
+
+A tool like bkerler's `edl`_ can be used for flashing::
+
+  $ edl.py --loader /path/to/prog_firehose_ddr.elf w uefi_a u-boot.mbn
+
+.. _qtestsign: https://github.com/msm8916-mainline/qtestsign
+.. _edl: https://github.com/bkerler/edl
+.. _Thundercomm's EDL instructions: https://www.thundercomm.com/rubik-pi-3/en/docs/rubik-pi-3-user-manual/1.0.0-u/set-up-your-device#enter-into-edl-mode

-- 
2.43.0


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

* Re: [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi
  2026-06-24 12:45 ` [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi Hongyang Zhao
@ 2026-06-30 16:17   ` Casey Connolly
  2026-07-06 11:34     ` Hongyang Zhao
  0 siblings, 1 reply; 6+ messages in thread
From: Casey Connolly @ 2026-06-30 16:17 UTC (permalink / raw)
  To: Hongyang Zhao, u-boot, Sumit Garg, u-boot-qcom
  Cc: Tom Rini, Neil Armstrong, Simon Glass, David Lechner, Peng Fan,
	Julien Stephan, Kory Maincent, Kuan-Wei Chiu, Raymond Mao,
	Marek Vasut, Quentin Schulz, Stefan Roese, Philip Molloy,
	Balaji Selvanathan, Jerome Forissier, Roger Shimizu

Hiya,

Thanks for respinning this!

On 6/24/26 14:45, Hongyang Zhao wrote:
> Add the board-specific U-Boot device tree overrides for the
> Thundercomm RUBIK Pi 3.
> 
> When U-Boot is loaded as the primary bootloader, no previous stage
> provides the memory layout. Describe the 8 GiB LPDDR4x layout locally
> so U-Boot can use the available DRAM.

I'm hoping we can skip this patch, since we now support retrieving the 
memory map dynamically from SMEM. I'd appreciate it if you could do a 
clean build of the qcom-next branch here and see if it works without this.

https://source.denx.de/u-boot/custodians/u-boot-snapdragon

You also shouldn't need to use qtestsign as MBN support was also just 
picked so u-boot.mbn should be built directly.

I used the Rubik Pi for testing both series locally so crossing my 
fingers you don't run into any issues.

Thanks,
// Casey


> 
> Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> ---
>   .../arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi | 20 ++++++++++++++++++++
>   1 file changed, 20 insertions(+)
> 
> diff --git a/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi b/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi
> new file mode 100644
> index 00000000000..8518cd402d0
> --- /dev/null
> +++ b/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi
> @@ -0,0 +1,20 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/ {
> +	/*
> +	 * When running as the primary bootloader there is no prior stage to
> +	 * populate the memory layout for us. We should have multiple nodes
> +	 * here, but ABL does not like that.
> +	 */
> +	memory@80000000 {
> +		device_type = "memory";
> +		reg = <0 0x80000000 0 0x39700000>,
> +		      <0 0xc0000000 0 0x01800000>,
> +		      <0 0xc3400000 0 0xbcc00000>,
> +		      <1 0x80000000 1 0x00000000>;
> +	};
> +};
> +
> +// RAM Entry 0 : Base 0x0080000000  Size 0x0039700000
> +// RAM Entry 1 : Base 0x00C0000000  Size 0x0001800000
> +// RAM Entry 2 : Base 0x00C3400000  Size 0x00BCC00000
> +// RAM Entry 3 : Base 0x0180000000  Size 0x0100000000
> 


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

* Re: [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi
  2026-06-30 16:17   ` Casey Connolly
@ 2026-07-06 11:34     ` Hongyang Zhao
  0 siblings, 0 replies; 6+ messages in thread
From: Hongyang Zhao @ 2026-07-06 11:34 UTC (permalink / raw)
  To: casey.connolly
  Cc: balaji.selvanathan, dlechner, hongyang.zhao, jerome.forissier,
	jstephan, kory.maincent, marek.vasut+renesas, neil.armstrong,
	peng.fan, philip.molloy, quentin.schulz, raymond.mao, rosh, sjg,
	stefan.roese, sumit.garg, trini, u-boot-qcom, u-boot, visitorckw

Hi Casey,

Thanks for the review.

On 6/24/26 14:45, Hongyang Zhao wrote:
> > Add the board-specific U-Boot device tree overrides for the
> > Thundercomm RUBIK Pi 3.
> >
> > When U-Boot is loaded as the primary bootloader, no previous stage
> > provides the memory layout. Describe the 8 GiB LPDDR4x layout locally
> > so U-Boot can use the available DRAM.
>
> I'm hoping we can skip this patch, since we now support retrieving the
> memory map dynamically from SMEM. I'd appreciate it if you could do a
> clean build of the qcom-next branch here and see if it works without this.
>
> https://source.denx.de/u-boot/custodians/u-boot-snapdragon
>
> You also shouldn't need to use qtestsign as MBN support was also just
> picked so u-boot.mbn should be built directly.
>
> I used the Rubik Pi for testing both series locally so crossing my
> fingers you don't run into any issues.
>
> Thanks,
> // Casey
>

I tested the qcom-next branch on RUBIK Pi 3 without this U-Boot dtsi patch.

The board boots successfully with the generated u-boot.mbn, and Linux starts
via U-Boot EFI. The memory map also looks correct; Linux reports the memory
range from 0x80000000 to 0x27fffffff, matching the 8 GiB layout.

So the SMEM-based dynamic memory map works fine on RUBIK Pi 3. I will drop
this dtsi patch in v3, and also update the documentation to use the directly
generated u-boot.mbn instead of qtestsign.

Thanks,
Hongyang

>
> >
> > Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
> > Reviewed-by: Simon Glass <sjg@chromium.org>
> > ---
> >   .../arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi | 20 ++++++++++++++++++++
> >   1 file changed, 20 insertions(+)
> >
> > diff --git a/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi b/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi
> > new file mode 100644
> > index 00000000000..8518cd402d0
> > --- /dev/null
> > +++ b/arch/arm/dts/qcs6490-thundercomm-rubikpi3-u-boot.dtsi
> > @@ -0,0 +1,20 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/ {
> > +	/*
> > +	 * When running as the primary bootloader there is no prior stage to
> > +	 * populate the memory layout for us. We should have multiple nodes
> > +	 * here, but ABL does not like that.
> > +	 */
> > +	memory@80000000 {
> > +		device_type = "memory";
> > +		reg = <0 0x80000000 0 0x39700000>,
> > +		      <0 0xc0000000 0 0x01800000>,
> > +		      <0 0xc3400000 0 0xbcc00000>,
> > +		      <1 0x80000000 1 0x00000000>;
> > +	};
> > +};
> > +
> > +// RAM Entry 0 : Base 0x0080000000  Size 0x0039700000
> > +// RAM Entry 1 : Base 0x00C0000000  Size 0x0001800000
> > +// RAM Entry 2 : Base 0x00C3400000  Size 0x00BCC00000
> > +// RAM Entry 3 : Base 0x0180000000  Size 0x0100000000
> >

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

end of thread, other threads:[~2026-07-06 11:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-24 12:45 [PATCH v2 0/3] qcom: Add support for Thundercomm RUBIK Pi 3 Hongyang Zhao
2026-06-24 12:45 ` [PATCH v2 1/3] dts: qcs6490-rubikpi3: Add U-Boot dtsi Hongyang Zhao
2026-06-30 16:17   ` Casey Connolly
2026-07-06 11:34     ` Hongyang Zhao
2026-06-24 12:45 ` [PATCH v2 2/3] configs: Add qcom_qcs6490_rubikpi3_defconfig Hongyang Zhao
2026-06-24 12:45 ` [PATCH v2 3/3] doc: board: qualcomm: Document RUBIK Pi 3 Hongyang Zhao

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.