* [PATCH 0/2] arm64: dts: rockchip: Add DFRobot UNIHIKER M10 V1.2 support
@ 2026-09-19 13:41 Mizuno Miotsuki
2026-09-19 13:41 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add DFRobot UNIHIKER M10 V1.2 Mizuno Miotsuki
2026-09-19 13:41 ` [PATCH 2/2] arm64: dts: " Mizuno Miotsuki
0 siblings, 2 replies; 3+ messages in thread
From: Mizuno Miotsuki @ 2026-09-19 13:41 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel
Add initial mainline support for the DFRobot UNIHIKER M10 V1.2. Only
revision 1.2 is claimed because later board revisions have not been
electrically verified.
The board device tree enables a conservative core subset for a usable
mainline system: CPU regulation, eMMC, SD, RTL8723DS SDIO Wi-Fi, UART0,
USB host and peripheral operation, GPIO keys, and the watchdog.
Bluetooth, audio, display, touch, IMU, SARADC, and GD32 support are
intentionally deferred.
Runtime validation used normal U-Boot boot from the eMMC boot partition,
not kexec. Four candidate boots reached userspace. Testing covered eMMC
and SD card I/O, RTL8723DS SDIO Wi-Fi including network traffic, USB
gadget operation, USB host controller enumeration, watchdog and GPIO-key
probe, and an empty deferred-probe list.
SD hot removal and reinsertion, physical USB-host devices, physical
button events, and an independent UART0 adapter remain untested.
`dt_binding_check` and the full `dtbs_check` pass with zero errors or
warnings.
Mizuno Miotsuki (2):
dt-bindings: arm: rockchip: Add DFRobot UNIHIKER M10 V1.2
arm64: dts: rockchip: Add DFRobot UNIHIKER M10 V1.2
Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../dts/rockchip/rk3308-unihiker-m10-v1.2.dts | 248 +++++++++++++++++++
3 files changed, 254 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3308-unihiker-m10-v1.2.dts
--
2.55.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] dt-bindings: arm: rockchip: Add DFRobot UNIHIKER M10 V1.2
2026-09-19 13:41 [PATCH 0/2] arm64: dts: rockchip: Add DFRobot UNIHIKER M10 V1.2 support Mizuno Miotsuki
@ 2026-09-19 13:41 ` Mizuno Miotsuki
2026-09-19 13:41 ` [PATCH 2/2] arm64: dts: " Mizuno Miotsuki
1 sibling, 0 replies; 3+ messages in thread
From: Mizuno Miotsuki @ 2026-09-19 13:41 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel
Add a board compatible for revision 1.2 of the DFRobot UNIHIKER M10.
Other PCB revisions are intentionally not covered.
Signed-off-by: Mizuno Miotsuki <founder@crepuse.com>
---
Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
index a799bb843f74..65c4b2cf248f 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -175,6 +175,11 @@ properties:
- const: coolpi,pi-4b
- const: rockchip,rk3588s
+ - description: DFRobot UNIHIKER M10 V1.2
+ items:
+ - const: dfrobot,unihiker-m10-v1.2
+ - const: rockchip,rk3308
+
- description: Alientek CLRV1126F SoM based boards
items:
- enum:
--
2.55.0
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH 2/2] arm64: dts: rockchip: Add DFRobot UNIHIKER M10 V1.2
2026-09-19 13:41 [PATCH 0/2] arm64: dts: rockchip: Add DFRobot UNIHIKER M10 V1.2 support Mizuno Miotsuki
2026-09-19 13:41 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add DFRobot UNIHIKER M10 V1.2 Mizuno Miotsuki
@ 2026-09-19 13:41 ` Mizuno Miotsuki
1 sibling, 0 replies; 3+ messages in thread
From: Mizuno Miotsuki @ 2026-09-19 13:41 UTC (permalink / raw)
To: Heiko Stuebner
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel
Add a minimal device tree for revision 1.2 of the DFRobot UNIHIKER
M10. Enable the CPU regulator, eMMC, SD, SDIO Wi-Fi, serial console,
USB host and peripheral ports, GPIO keys, and watchdog.
Audio, display, touchscreen, Bluetooth, IMU, and companion MCU support
remain disabled until their dependencies and board wiring are ready for
upstream.
Signed-off-by: Mizuno Miotsuki <founder@crepuse.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../dts/rockchip/rk3308-unihiker-m10-v1.2.dts | 248 ++++++++++++++++++
2 files changed, 249 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3308-unihiker-m10-v1.2.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index e7936a21c118..6e520a5e3c61 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-roc-cc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-rock-pi-s.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-rock-s0.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-sakurapi-rk3308b.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-unihiker-m10-v1.2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-anbernic-rg351m.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-anbernic-rg351v.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-unihiker-m10-v1.2.dts b/arch/arm64/boot/dts/rockchip/rk3308-unihiker-m10-v1.2.dts
new file mode 100644
index 000000000000..270ea970c95a
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3308-unihiker-m10-v1.2.dts
@@ -0,0 +1,248 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2026 Mizuno Miotsuki <founder@crepuse.com>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "rk3308.dtsi"
+
+/ {
+ model = "DFRobot UNIHIKER M10 V1.2";
+ compatible = "dfrobot,unihiker-m10-v1.2", "rockchip,rk3308";
+
+ aliases {
+ mmc0 = &emmc;
+ mmc1 = &sdmmc;
+ mmc2 = &sdio;
+ };
+
+ chosen {
+ stdout-path = "serial0:1500000n8";
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ key-a {
+ debounce-interval = <20>;
+ gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_LOW>;
+ label = "A";
+ linux,code = <KEY_A>;
+ };
+
+ key-b {
+ debounce-interval = <20>;
+ gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_LOW>;
+ label = "B";
+ linux,code = <KEY_B>;
+ };
+
+ key-home {
+ debounce-interval = <20>;
+ gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>;
+ label = "Home";
+ linux,code = <KEY_HOME>;
+ };
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+ reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
+ };
+
+ vcc_1v8: regulator-vcc-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_1v8";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ vcc_io: regulator-vcc-io {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_io";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
+ vcc_sd: regulator-vcc-sd {
+ compatible = "regulator-fixed";
+ gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd_vcc_en>;
+ regulator-name = "vcc_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vcc5v0_sys: regulator-vcc5v0-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ vcc5v0_usb_host: regulator-vcc5v0-usb-host {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb_host_vbus_en>;
+ regulator-name = "vcc5v0_usb_host";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc5v0_sys>;
+ };
+
+ vdd_core: regulator-vdd-core {
+ compatible = "pwm-regulator";
+ pwms = <&pwm0 0 5000 1>;
+ regulator-name = "vdd_core";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <827000>;
+ regulator-max-microvolt = <1340000>;
+ regulator-settling-time-up-us = <250>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_core>;
+};
+
+&emmc {
+ cap-mmc-highspeed;
+ no-1-8-v;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>;
+ vmmc-supply = <&vcc_io>;
+ status = "okay";
+};
+
+&io_domains {
+ vccio0-supply = <&vcc_io>;
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc_io>;
+ vccio3-supply = <&vcc_io>;
+ vccio4-supply = <&vcc_1v8>;
+ vccio5-supply = <&vcc_io>;
+ status = "okay";
+};
+
+&otp {
+ status = "disabled";
+};
+
+&pinctrl {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rtc_32k>;
+
+ sdmmc {
+ sd_vcc_en: sd-vcc-en {
+ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ usb {
+ usb_host_vbus_en: usb-host-vbus-en {
+ rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ wifi {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+
+ wifi_host_wake: wifi-host-wake {
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
+ };
+ };
+};
+
+&pwm0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm0_pin_pull_down>;
+ status = "okay";
+};
+
+&sdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ keep-power-in-suspend;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ no-mmc;
+ no-sd;
+ non-removable;
+ vmmc-supply = <&vcc_io>;
+ vqmmc-supply = <&vcc_1v8>;
+ status = "okay";
+
+ wifi@1 {
+ reg = <1>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "host-wake";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_host_wake>;
+ };
+};
+
+&sdmmc {
+ cap-sd-highspeed;
+ disable-wp;
+ no-1-8-v;
+ vmmc-supply = <&vcc_sd>;
+ vqmmc-supply = <&vcc_io>;
+ status = "okay";
+};
+
+&u2phy {
+ status = "okay";
+};
+
+&u2phy_host {
+ phy-supply = <&vcc5v0_usb_host>;
+ status = "okay";
+};
+
+&u2phy_otg {
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_xfer>;
+ status = "okay";
+};
+
+&usb20_otg {
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&usb_host_ehci {
+ status = "okay";
+};
+
+&usb_host_ohci {
+ status = "okay";
+};
+
+&wdt {
+ status = "okay";
+};
--
2.55.0
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-19 13:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-19 13:41 [PATCH 0/2] arm64: dts: rockchip: Add DFRobot UNIHIKER M10 V1.2 support Mizuno Miotsuki
2026-09-19 13:41 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add DFRobot UNIHIKER M10 V1.2 Mizuno Miotsuki
2026-09-19 13:41 ` [PATCH 2/2] arm64: dts: " Mizuno Miotsuki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®