From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E4FC389DEB for ; Wed, 4 Feb 2026 13:27:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770211638; cv=none; b=NrAFvoHUUjXt2DWR1NLSRQQ14P0l0AwCLID4s5EzrUDXjRRXyVqbxGoVfns3UpFtdjRkJ/KcTXzuiIi5UFwJHmU310YvSysWrftx8uaC8zZqO5r4MPRcFHTuvrpBGWljeZ+PjFfoGBp7IvCxoeJGU07flw4KVrvbWnrVB6CQebE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770211638; c=relaxed/simple; bh=eNR8SSUeDMna1VlAyDRSwAd7Z8PjGtjVBCigycQQ8ZU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YaOFvizYX1cqsfhrzN0+cahMtmI6Hms12oPaSEvc4dKm+VW4IwDt6lo5JmwdHX2AaTLF9oUTOrA4izRV9+JDiBsMlWL2KIPEy/ZzED8aXltTB/3Fqgb2HNjoWxywMfMK56lc0v72Gq9HLIc+eyDobuE95L+lwEgipS/46JmGgvE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SdKNUUgR; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SdKNUUgR" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-82418b0178cso838184b3a.1 for ; Wed, 04 Feb 2026 05:27:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770211637; x=1770816437; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KJG5+ILVKGmt9JtEwJJ6zbB4IjqEYgnBpXtMi1ZuCl8=; b=SdKNUUgRidZR76cdpooOGokbj1yjspMgggyX7M3sJGsss66+Hzy3A174GYGjGWnH7S vEp/mp9XpH1CpRUMF2fiYP2/gwKSYJHvRNE+5Lx09oRSIePllNcINFUh5aFoUbl69/WS 9NbotlTBQp1rv63JaJOCmtgz2OOBx5DD9xwnrFObDs0Iv2tc814LtILtW4ekJ7D4SKqK ux7p6jOCSqtp09e91+aEnbD3gVCXPHz/QPhmhCE5hvZdGdRi6qbYsoP8eFB6WKayluTj lt5CSsb0j7l3bm085U33RPleSfvFhRg9VYTDTKQFyqmJBIvio+8RH62w20TZC1b1Off8 2Xdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770211637; x=1770816437; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KJG5+ILVKGmt9JtEwJJ6zbB4IjqEYgnBpXtMi1ZuCl8=; b=pJ2Rqn5DeO8ltaFnTahdNnaKz+jmBOc5Au20zKbJBw47PMXtDbcjzzDeV+G54LZ0Vo GA73bhi3GnWpydVUqb7QRQsZB+LpTxM2loMyPHueUNFfjpUcKtGMUrtWCUsZOeUb8qNI FCIiiYH6S2lvcOBhOFOmVOozCPjzUSFI2BPlsNBNzNSJoY1Gj26f6igwkeIY2qzR5KAJ HECAE5VVF8iCxpMqBv8x7OdfG+4GjAsBgy5CxvoR2aA8ES0I2JyPtC+Y+NjKa8LnvStd 1pfinzH9Ox7ggH4Mjl66UlHo84GyOD6hdEHrtjbKeRk1fEPaiH0Py0FbOPK+kzwAbPZR 98jQ== X-Gm-Message-State: AOJu0YwaGKmU9vdtBQB9ytMlrxdpgqaF2MoAxat2yTSwVTYb9vxAnz/4 ZoROZjsvmVCpyc6jOXve3NoDxewkyTtXvcPJTFSDTV8vRrpv3R4MznGJZeAna5v7 X-Gm-Gg: AZuq6aJurZRVzsr1UkVqOCaT+oWKn4nCHigjY7Pvkm7VGSfZss5Hb4YLFoU+vcYNfPv lkXli83dbpAL5S0gBOXAFMDMG5I1hKL6P4oqDIj2dS2kHp6O9dtywBnv83yexJplFG7uYaHESRc DSPeweUYOdQePt61Dr8G3iXSvsDhPN2wQ9gbGAWN84tmQu7fCwNXOrTvcRyMig9tHGGyQHVfFrF wQob3f0cu/gK7fpKHMWmbHCZYt1DjmxY7iPi2Daoqk1wI/n+FpbiadKQ/7hKXnmHovPRlJIyqF+ qy0Uj7sdQxgOSb5GwiTlE0defe5pu9iBn3zbFtRuLjku2RbfPUYSb22zu96uVQ1Nx30Rwu/SHpJ gZdXDnlOWcNzPb5HBf5A6p8OGMdIKZeo3iV2SpQpGjQ5olSHMEWO7/19oWtivzbVkE9mMwV8Yjz p1MqI0j/Ym X-Received: by 2002:a17:90b:2682:b0:354:5ac4:2d5d with SMTP id 98e67ed59e1d1-354871fbf27mr2411953a91.36.1770211637403; Wed, 04 Feb 2026 05:27:17 -0800 (PST) Received: from arch.localdomain ([2409:8a28:a52:d2b1::1004]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35487726e6bsm875763a91.6.2026.02.04.05.27.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Feb 2026 05:27:17 -0800 (PST) From: Jun Yan To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, alchark@gmail.com, dsimic@manjaro.org, andyshrk@163.com, Jun Yan Subject: [PATCH v4 3/3] arm64: dts: rockchip: Add OneThing Edge Cube series Date: Wed, 4 Feb 2026 21:26:56 +0800 Message-ID: <20260204132700.329894-4-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260204132700.329894-1-jerrysteve1101@gmail.com> References: <20260204132700.329894-1-jerrysteve1101@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The OneThing Edge Cube (OEC) series features the RK3566 SoC, 8GB eMMC storage, and supports one SATA interface, one Gigabit Ethernet port, and one USB 3.0 port. Other than the difference in RAM capacity, the OEC and OEC-turbo are identical in all other specifications. Specification: - Rockchip RK3566 - LPDDR4X 2GB (OEC) / 4GB (OEC-turbo) - eMMC 8GB - Gigabit Ethernet port x 1 - USB 3.0 port x 1 - USB-C 2.0 port x 1 - 12V DC Power supply - SATA 3.0 connector x 1 These devices do not have a PMIC, and their hardware circuit design is highly similar to that of the rk3566-box-demo[1]. Hardware schematics are not available at this time, with the vendor firmware dts available for reference[2]. Ethernet, USB 3.0 and SATA 3.0 ports tested, all working well. [1] https://elixir.bootlin.com/linux/v6.18.6/source/arch/arm64/boot/dts/rockchip/rk3566-box-demo.dts [2] https://archive.org/download/wxy-oec-RK3566-4G-dump/wxy-oec-RK3566-4G-dump.dts Signed-off-by: Jun Yan --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../rockchip/rk3566-onething-edge-cube.dts | 312 ++++++++++++++++++ 2 files changed, 313 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-onething-edge-cube.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 4d384f153c13..71a7ab8e7223 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -104,6 +104,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353v.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353vs.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-odroid-m1s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-onething-edge-cube.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v1.1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v2.1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3566-onething-edge-cube.dts b/arch/arm64/boot/dts/rockchip/rk3566-onething-edge-cube.dts new file mode 100644 index 000000000000..36462ae2848d --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3566-onething-edge-cube.dts @@ -0,0 +1,312 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; + +#include +#include +#include +#include "rk3566.dtsi" + +/ { + model = "OneThing Edge Cube (OEC)/OEC Turbo"; + compatible = "onething,edge-cube", "rockchip,rk3566"; + + aliases { + ethernet0 = &gmac1; + mmc0 = &sdhci; + }; + + chosen: chosen { + stdout-path = "serial2:1500000n8"; + }; + + gmac1_clkin: external-gmac1-clock { + compatible = "fixed-clock"; + clock-frequency = <125000000>; + clock-output-names = "gmac1_clkin"; + #clock-cells = <0>; + }; + + leds { + compatible = "gpio-leds"; + + rgb_led_b: led-0 { + color = ; + default-state = "off"; + function = LED_FUNCTION_STATUS; + gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; + }; + + rgb_led_g: led-1 { + color = ; + default-state = "on"; + function = LED_FUNCTION_STATUS; + gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; + }; + + rgb_led_r: led-2 { + color = ; + default-state = "off"; + function = LED_FUNCTION_STATUS; + gpios = <&gpio0 RK_PC3 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 = <&vcc5v0_sys>; + }; + + vcc_3v3: regulator-vcc-3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc_3v3"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc5v0_sys>; + }; + + vcc12v0_dcin: regulator-vcc12v0-dcin { + compatible = "regulator-fixed"; + regulator-name = "vcc12v0_dcin"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + }; + + vcc3v3_sys: regulator-vcc3v3-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc12v0_dcin>; + }; + + 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>; + vin-supply = <&vcc12v0_dcin>; + }; + + vcc5v0_usb_host: regulator-vcc5v0-usb-host { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_host_en>; + regulator-name = "vcc5v0_usb_host"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_sys>; + }; + + vdd_cpu: regulator-vdd-cpu { + compatible = "pwm-regulator"; + pwms = <&pwm0 0 5000 1>; + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + regulator-settling-time-up-us = <250>; + pwm-supply = <&vcc5v0_sys>; + }; + + vdd_fixed: regulator-vdd-fixed { + compatible = "regulator-fixed"; + regulator-name = "vdd_fixed"; + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <950000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc5v0_sys>; + }; + + vdd_logic: regulator-vdd-logic { + compatible = "pwm-regulator"; + pwms = <&pwm1 0 5000 1>; + regulator-name = "vdd_logic"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1100000>; + regulator-always-on; + regulator-boot-on; + regulator-settling-time-up-us = <250>; + pwm-supply = <&vcc5v0_sys>; + }; +}; + + +/* No hardware video output port */ +&display_subsystem { + status = "disabled"; +}; + +&combphy1 { + status = "okay"; +}; + +&combphy2 { + status = "okay"; +}; + +&cpu0 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu1 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu2 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu3 { + cpu-supply = <&vdd_cpu>; +}; + +&gmac1 { + assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; + assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>; + clock_in_out = "input"; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-id"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1m1_miim + &gmac1m1_tx_bus2 + &gmac1m1_rx_bus2 + &gmac1m1_rgmii_clk + &gmac1m1_rgmii_bus + &gmac1m1_clkinout>; + rx_delay = <0x0>; + tx_delay = <0x0>; + status = "okay"; +}; + +&gpu { + status = "okay"; +}; + +&mdio1 { + rgmii_phy1: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0x1>; + reset-assert-us = <20000>; + reset-deassert-us = <100000>; + reset-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; + }; +}; + +&pinctrl { + usb { + vcc5v0_usb_host_en: vcc5v0-usb-host-en { + rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pmu_io_domains { + pmuio1-supply = <&vcc_3v3>; + pmuio2-supply = <&vcc_3v3>; + vccio1-supply = <&vcc_1v8>; + vccio3-supply = <&vcc_3v3>; + vccio4-supply = <&vcc_1v8>; + vccio5-supply = <&vcc_3v3>; + vccio6-supply = <&vcc_1v8>; + vccio7-supply = <&vcc_3v3>; + status = "okay"; +}; + +&pwm0 { + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; + +&saradc { + vref-supply = <&vcc_1v8>; + status = "okay"; +}; + +&sata2 { + status = "okay"; +}; + +&sdhci { + bus-width = <8>; + mmc-hs200-1_8v; + non-removable; + status = "okay"; +}; + +&tsadc { + rockchip,hw-tshut-mode = <1>; + rockchip,hw-tshut-polarity = <0>; + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host1_ehci { + status = "okay"; +}; + +&usb_host1_ohci { + status = "okay"; +}; + +&usb_host1_xhci { + status = "okay"; +}; + +&usb2phy0 { + status = "okay"; +}; + +&usb2phy0_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy0_otg { + status = "okay"; +}; + +&usb2phy1 { + status = "okay"; +}; + +&usb2phy1_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy1_otg { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; -- 2.52.0