[PATCH v2 4/4] riscv: dts: spacemit: Add Milk-V Jupiter board (M1)
Aurelien Jarno <[email protected]> Wed, 29 Jul 2026 18:00:31 +0200
| Newsgroups | dev.linux.lists.spacemit,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add support for the Milk-V Jupiter board with the M1 CPU. The M1 differs from the K1 only by its package, which provides improved cooling performance and allows it to run at up to 1.8 GHz instead of 1.6 GHz. Add m1-opp.dtsi to define the 1.8 GHz operating point and the corresponding core voltage, based on the upstream kernel. Include it from m1-milkv-jupiter.dts. Raise the maximum buck1 voltage to 1.116V to match the new operating point. Signed-off-by: Aurelien Jarno <[email protected]> --- arch/riscv/boot/dts/spacemit/Makefile | 1 + .../boot/dts/spacemit/m1-milkv-jupiter.dts | 16 +++ arch/riscv/boot/dts/spacemit/m1-opp.dtsi | 117 ++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 arch/riscv/boot/dts/spacemit/m1-milkv-jupiter.dts create mode 100644 arch/riscv/boot/dts/spacemit/m1-opp.dtsi diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile index 851b701e5da48..c5c38c17b6ced 100644 --- a/arch/riscv/boot/dts/spacemit/Makefile +++ b/arch/riscv/boot/dts/spacemit/Makefile @@ -8,3 +8,4 @@ dtb-$(CONFIG_ARCH_SPACEMIT) += k1-orangepi-rv2.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k3-com260-ifx.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k3-deepcomputing-fml13v05.dtb dtb-$(CONFIG_ARCH_SPACEMIT) += k3-pico-itx.dtb +dtb-$(CONFIG_ARCH_SPACEMIT) += m1-milkv-jupiter.dtb diff --git a/arch/riscv/boot/dts/spacemit/m1-milkv-jupiter.dts b/arch/riscv/boot/dts/spacemit/m1-milkv-jupiter.dts new file mode 100644 index 0000000000000..b0624d65a17fb --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/m1-milkv-jupiter.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0 OR MIT +/* + * Copyright (C) 2026 Aurelien Jarno <[email protected]> + */ + +#include "k1-milkv-jupiter-common.dtsi" +#include "m1-opp.dtsi" + +/ { + model = "Milk-V Jupiter (M1)"; + compatible = "milkv,jupiter-m1", "spacemit,k1"; +}; + +&buck1_0v9 { + regulator-max-microvolt = <1160000>; +}; diff --git a/arch/riscv/boot/dts/spacemit/m1-opp.dtsi b/arch/riscv/boot/dts/spacemit/m1-opp.dtsi new file mode 100644 index 0000000000000..38e0ce7765a2b --- /dev/null +++ b/arch/riscv/boot/dts/spacemit/m1-opp.dtsi @@ -0,0 +1,117 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/ { + cluster0_opp_table: opp-table-cluster0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-614400000 { + opp-hz = /bits/ 64 <614400000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-819000000 { + opp-hz = /bits/ 64 <819000000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1000000000 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1228800000 { + opp-hz = /bits/ 64 <1228800000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1600000000 { + opp-hz = /bits/ 64 <1600000000>; + opp-microvolt = <1050000 1050000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1160000 1160000 1160000>; + clock-latency-ns = <200000>; + }; + }; + + cluster1_opp_table: opp-table-cluster1 { + compatible = "operating-points-v2"; + opp-shared; + + opp-614400000 { + opp-hz = /bits/ 64 <614400000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-819000000 { + opp-hz = /bits/ 64 <819000000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1000000000 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1228800000 { + opp-hz = /bits/ 64 <1228800000>; + opp-microvolt = <950000 950000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1600000000 { + opp-hz = /bits/ 64 <1600000000>; + opp-microvolt = <1050000 1050000 1160000>; + clock-latency-ns = <200000>; + }; + + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1160000 1160000 1160000>; + clock-latency-ns = <200000>; + }; + }; +}; + +&cpu_0 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_1 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_2 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_3 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_4 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_5 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_6 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_7 { + operating-points-v2 = <&cluster1_opp_table>; +}; -- 2.53.0