Skip to contentSkip to conversation

dt-bindings: arm: rockchip: Add MNT Reform 2 (RCORE)

PATCH Superseded Patrick Wildt 3 participants 5 messages Feb 12, 2025 – Feb 17, 2025

Subsystems (2)

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/2 dt-bindings: arm: rockchip: Add MNT Reform 2 (RCORE)

Document board compatible bindings for the MNT Reform 2 with it's RCORE SoM, which is based on Firefly's iCore-3588Q.

---
Changes for v3:
- Split DT as it's based on a Firefly iCore-3588Q SoM Changes for v2:
- No changes

 Documentation/devicetree/bindings/arm/rockchip.yaml | 7 +++++++
 1 file changed, 7 insertions(+)
Documentation/devicetree/bindings/arm/rockchip.yaml +7 -0
index 522a6f0450ea..e21c5c8fc2a3 100644
@@ -178,6 +178,13 @@ properties:
           - const: engicam,px30-core
           - const: rockchip,px30
 
+      - description: Firefly iCore-3588Q-based boards
+        items:
+          - enum:
+              - mntre,reform2-rcore
+          - const: firefly,icore-3588q
+          - const: rockchip,rk3588
+
       - description: Firefly Core-3588J-based boards
         items:
           - enum:
Signature · 1 line
2.48.1
#1 lore raw

PATCH v3 2/2 arm64: dts: rockchip: add MNT Reform 2

MNT Reform 2 is an open source laptop with replaceable CPU modules, including a version with the RK3588-based MNT RCORE[1], which is based on Firefly's iCore-3588Q SoM:

- Rockchip RK3588
- Quad A76 and Quad A55 CPU
- 6 TOPS NPU
- up to 32GB LPDDR4x RAM
- SD Card slot
- Gigabit ethernet port
- HDMI port
- 2x mPCIe ports for WiFi or NVMe
- 3x USB 3.0 Type-A HOST port

[1] https://shop.mntre.com/products/mnt-reform

---
Changes for v3:
- Split DT as it's based on a Firefly iCore-3588Q SoM Changes for v2:
- Aligned with bindings and schemas to appease DTB check warnings.
- Aligned with format of other RK3588 boards for consistency.

 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../rockchip/rk3588-firefly-icore-3588q.dtsi  | 451 ++++++++++++++++++
 .../boot/dts/rockchip/rk3588-mnt-reform2.dts  | 348 ++++++++++++++
 3 files changed, 800 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-firefly-icore-3588q.dtsi
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts
arch/arm64/boot/dts/rockchip/Makefile +1 -0
index def1222c1907..88381d9a20e3 100644
@@ -145,6 +145,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-firefly-itx-3588j.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-friendlyelec-cm3588-nas.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-h96-max-v58.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-jaguar.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-nanopc-t6-lts.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-ok3588-c.dtb
arch/arm64/boot/dts/rockchip/rk3588-firefly-icore-3588q.dtsi new file +451 -0

451 lines not on this page · raw message

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +348 -0

348 lines not on this page · raw message

Signature · 1 line
2.48.1
#2 lore raw

Re: [PATCH v3 2/2] arm64: dts: rockchip: add MNT Reform 2

Hi,

A few questions below.

[ snip ]

arch/arm64/boot/dts/rockchip/rk3588-firefly-icore-3588q.dtsi

Quoted 5 lines
arch/arm64/boot/dts/rockchip/rk3588-firefly-icore-3588q.dtsi new file +0 -0
new file mode 100644
index 000000000000..898a7b29692f

That's interesting, the Firefly Core 3588Q SoM's dtsi is more than 95% the same as the Core 3588J SoM's dtsi.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3588-firefly-core-3588j.dtsi?h=v6.14-rc1

Quoted 16 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
new file mode 100644
index 000000000000..cd7a82a3b0de
@@ -0,0 +1,348 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
+ * Copyright (c) 2024 MNT Research GmbH
+ *
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 20

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
+#include <dt-bindings/usb/pd.h>
+
+#include "rk3588-firefly-icore-3588q.dtsi"
+
+/ {
+       model = "MNT Reform 2 with RCORE RK3588 Module";
+       compatible = "mntre,reform2-rcore", "firefly,icore-3588q", "rockchip,rk3588";

Will you be adding "chassis-type"?

Quoted 6 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +6 -0
+
+       aliases {
+               ethernet0 = &gmac0;
+               mmc1 = &sdmmc;
+       };
+

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 36

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
+       chosen {
+               stdout-path = "serial2:1500000n8";
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm8 0 10000 0>;
+               enable-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
+               brightness-levels = <0 8 16 32 64 128 160 200 255>;
+               default-brightness-level = <128>;

Interestingly, the brightness curve is more fine-grained than one used for the IMX8MQ SoM and the A311D SoM. Should those be updated eventually?

brightness-levels = <0 32 64 128 160 200 255>;
default-brightness-level = <6>;

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts?h=v6.14-rc1#n24
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts?h=v6.14-rc1#n198

[ snip ]

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 131

Quoted 4 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +4 -0
+
+&combphy1_ps {
+       status = "okay";
+};

Should this be left out? It doesn't look like pcie2x1l0 or sata1 is being used.

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 135

Quoted 4 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +4 -0
+
+&combphy2_psu {
+       status = "okay";
+};

Should this be left out? It doesn't look like pcie2x1l1, sata2, or usb_host2_xhci is being used.

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 218

Quoted 9 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +9 -0
+
+&saradc {
+       vref-supply = <&avcc_1v8_s0>;
+       status = "okay";
+};
+
+&tsadc {
+       status = "okay";
+};

These nodes should be sorted alphabetically

Quoted 11 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +11 -0
+
+&sdmmc {
+       bus-width = <4>;
+       max-frequency = <40000000>;
+       no-sdio;
+       no-mmc;
+       no-1-8-v;
+       cap-sd-highspeed;
+       vqmmc-supply = <&vcc3v3_pcie30>;
+       vmmc-supply = <&vcc3v3_pcie30>;
+       cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 239

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
+       disable-wp;
+       status = "okay";
+};
+
+&mdio0 {
+       rgmii_phy: ethernet-phy@0 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <0x0>;
+       };
+};

Jimmy

#3 lore raw

Re: [PATCH v3 2/2] arm64: dts: rockchip: add MNT Reform 2

Hi,

thanks for the input! I've addressed these things in a v4 that I just sent out:

* Added chassis-type
* Removed unused nodes
* Sorted alphabetically

The brightness setting is in-line with what MNT are shipping currently for their other modules. I can send a follow-up patch to update the settings for both i.MX8MQ and A311D.

Cheers,
Patrick

Quoted 118 lines · Jimmy Hon

Hi,

A few questions below.

[ snip ]

arch/arm64/boot/dts/rockchip/rk3588-firefly-icore-3588q.dtsi

Quoted 5 lines
arch/arm64/boot/dts/rockchip/rk3588-firefly-icore-3588q.dtsi new file +0 -0
new file mode 100644
index 000000000000..898a7b29692f

That's interesting, the Firefly Core 3588Q SoM's dtsi is more than 95% the same as the Core 3588J SoM's dtsi.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3588-firefly-core-3588j.dtsi?h=v6.14-rc1

Quoted 16 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
new file mode 100644
index 000000000000..cd7a82a3b0de
@@ -0,0 +1,348 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
+ * Copyright (c) 2024 MNT Research GmbH
+ *
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 20

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/soc/rockchip,vop2.h>
+#include <dt-bindings/usb/pd.h>
+
+#include "rk3588-firefly-icore-3588q.dtsi"
+
+/ {
+       model = "MNT Reform 2 with RCORE RK3588 Module";
+       compatible = "mntre,reform2-rcore", "firefly,icore-3588q", "rockchip,rk3588";

Will you be adding "chassis-type"?

Quoted 6 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +6 -0
+
+       aliases {
+               ethernet0 = &gmac0;
+               mmc1 = &sdmmc;
+       };
+

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 36

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
+       chosen {
+               stdout-path = "serial2:1500000n8";
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm8 0 10000 0>;
+               enable-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
+               brightness-levels = <0 8 16 32 64 128 160 200 255>;
+               default-brightness-level = <128>;

Interestingly, the brightness curve is more fine-grained than one used for the IMX8MQ SoM and the A311D SoM. Should those be updated eventually?

brightness-levels = <0 32 64 128 160 200 255>;
default-brightness-level = <6>;

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts?h=v6.14-rc1#n24
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts?h=v6.14-rc1#n198

[ snip ]

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 131

Quoted 4 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +4 -0
+
+&combphy1_ps {
+       status = "okay";
+};

Should this be left out? It doesn't look like pcie2x1l0 or sata1 is being used.

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 135

Quoted 4 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +4 -0
+
+&combphy2_psu {
+       status = "okay";
+};

Should this be left out? It doesn't look like pcie2x1l1, sata2, or usb_host2_xhci is being used.

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 218

Quoted 9 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +9 -0
+
+&saradc {
+       vref-supply = <&avcc_1v8_s0>;
+       status = "okay";
+};
+
+&tsadc {
+       status = "okay";
+};

These nodes should be sorted alphabetically

Quoted 11 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +11 -0
+
+&sdmmc {
+       bus-width = <4>;
+       max-frequency = <40000000>;
+       no-sdio;
+       no-mmc;
+       no-1-8-v;
+       cap-sd-highspeed;
+       vqmmc-supply = <&vcc3v3_pcie30>;
+       vmmc-supply = <&vcc3v3_pcie30>;
+       cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;

arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts line 239

Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts new file +10 -0
+       disable-wp;
+       status = "okay";
+};
+
+&mdio0 {
+       rgmii_phy: ethernet-phy@0 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <0x0>;
+       };
+};

Jimmy