[PATCH v2 2/2] riscv: dts: spacemit: mark K1 board boot devices bootph-pre-ram
Hung-Chun Tseng
alan.tseng.cs at gmail.com
Sat Oct 17 11:01:41 PDT 2026
On K1 boards an SPL reads the board EEPROM (0x50 on i2c2) to identify
the board, and before DRAM training it programs the P1 PMIC (0x41 on
i2c8) rails buck1, buck3 and aldo1. Boards that boot from SPI NOR also
need the flash on QSPI.
Mark these board peripherals bootph-pre-ram on the boards that have
them, together with i2c2 where the EEPROM sits. i2c8 is tagged in
k1.dtsi, as every K1 board connects the PMIC there.
Assisted-by: claude-opus-5-5 dtbs_check
Signed-off-by: Hung-Chun Tseng <alan.tseng.cs at gmail.com>
---
arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi | 6 ++++++
arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 6 ++++++
arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 7 +++++++
arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 7 +++++++
arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts | 4 ++++
arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts | 5 +++++
6 files changed, 35 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi
index 81c40df2a..acb8fa2e6 100644
--- a/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-cm6.dtsi
@@ -64,6 +64,7 @@ &pdma {
};
&i2c2 {
+ bootph-pre-ram;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_0_cfg>;
status = "okay";
@@ -71,6 +72,7 @@ &i2c2 {
eeprom at 50 {
compatible = "atmel,24c02";
reg = <0x50>;
+ bootph-pre-ram;
vcc-supply = <&buck3_1v8>;
pagesize = <16>;
read-only;
@@ -100,6 +102,7 @@ &i2c8 {
pmic at 41 {
compatible = "spacemit,p1";
reg = <0x41>;
+ bootph-pre-ram;
interrupts = <64>;
vin1-supply = <®_vcc_4v>;
vin2-supply = <®_vcc_4v>;
@@ -113,6 +116,7 @@ pmic at 41 {
regulators {
buck1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <5000>;
@@ -127,6 +131,7 @@ buck2 {
};
buck3_1v8: buck3 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <5000>;
@@ -155,6 +160,7 @@ buck6 {
};
aldo1: aldo1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
index 58035d886..b91db3204 100644
--- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
@@ -187,6 +187,7 @@ &qspi {
};
&i2c2 {
+ bootph-pre-ram;
pinctrl-0 = <&i2c2_0_cfg>;
pinctrl-names = "default";
status = "okay";
@@ -194,6 +195,7 @@ &i2c2 {
eeprom at 50 {
compatible = "atmel,24c02";
reg = <0x50>;
+ bootph-pre-ram;
vcc-supply = <&buck3_1v8>; /* EEPROM_VCC1V8 */
pagesize = <16>;
read-only;
@@ -223,6 +225,7 @@ &i2c8 {
pmic at 41 {
compatible = "spacemit,p1";
reg = <0x41>;
+ bootph-pre-ram;
interrupts = <64>;
vin1-supply = <®_vcc_4v>;
vin2-supply = <®_vcc_4v>;
@@ -236,6 +239,7 @@ pmic at 41 {
regulators {
buck1_0v9: buck1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <5000>;
@@ -250,6 +254,7 @@ buck2 {
};
buck3_1v8: buck3 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <5000>;
@@ -278,6 +283,7 @@ buck6 {
};
aldo1: aldo1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
index 635e95aad..d2a39cf55 100644
--- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
@@ -201,6 +201,7 @@ &pdma {
};
&i2c2 {
+ bootph-pre-ram;
pinctrl-0 = <&i2c2_0_cfg>;
pinctrl-names = "default";
status = "okay";
@@ -208,6 +209,7 @@ &i2c2 {
eeprom at 50 {
compatible = "atmel,24c04";
reg = <0x50>;
+ bootph-pre-ram;
vcc-supply = <&buck3_1v8>; /* EEPROM_VCC18 */
pagesize = <16>;
read-only;
@@ -230,6 +232,7 @@ &i2c8 {
pmic at 41 {
compatible = "spacemit,p1";
reg = <0x41>;
+ bootph-pre-ram;
interrupts = <64>;
vin1-supply = <®_vcc_4v>;
vin2-supply = <®_vcc_4v>;
@@ -243,6 +246,7 @@ pmic at 41 {
regulators {
buck1_0v9: buck1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <5000>;
@@ -257,6 +261,7 @@ buck2 {
};
buck3_1v8: buck3 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <5000>;
@@ -285,6 +290,7 @@ buck6 {
};
aldo1: aldo1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
@@ -386,6 +392,7 @@ &qspi {
flash at 0 {
compatible = "jedec,spi-nor";
reg = <0>;
+ bootph-pre-ram;
spi-max-frequency = <26500000>;
spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>;
diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
index 23f32a8a3..a3d0e38ac 100644
--- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
@@ -160,6 +160,7 @@ &pdma {
};
&i2c2 {
+ bootph-pre-ram;
pinctrl-0 = <&i2c2_0_cfg>;
pinctrl-names = "default";
status = "okay";
@@ -167,6 +168,7 @@ &i2c2 {
eeprom at 50 {
compatible = "atmel,24c02";
reg = <0x50>;
+ bootph-pre-ram;
vcc-supply = <&buck3_1v8>; /* EEPROM_VCC1V8 */
pagesize = <8>;
read-only;
@@ -199,6 +201,7 @@ &i2c8 {
pmic at 41 {
compatible = "spacemit,p1";
reg = <0x41>;
+ bootph-pre-ram;
interrupts = <64>;
vin1-supply = <®_vcc_4v>;
vin2-supply = <®_vcc_4v>;
@@ -212,6 +215,7 @@ pmic at 41 {
regulators {
buck1_0v9: buck1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <5000>;
@@ -226,6 +230,7 @@ buck2 {
};
buck3_1v8: buck3 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <5000>;
@@ -254,6 +259,7 @@ buck6 {
};
aldo1: aldo1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
@@ -353,6 +359,7 @@ &qspi {
flash at 0 {
compatible = "jedec,spi-nor";
reg = <0>;
+ bootph-pre-ram;
spi-max-frequency = <26500000>;
spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>;
diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts
index eb77aae9d..5e2fde8be 100644
--- a/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts
@@ -187,6 +187,7 @@ &i2c8 {
pmic at 41 {
compatible = "spacemit,p1";
reg = <0x41>;
+ bootph-pre-ram;
interrupts = <64>;
vin1-supply = <&vcc4v0>;
vin2-supply = <&vcc4v0>;
@@ -200,6 +201,7 @@ pmic at 41 {
regulators {
buck1_0v9: buck1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <5000>;
@@ -214,6 +216,7 @@ buck2 {
};
buck3_1v8: buck3 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <5000>;
@@ -242,6 +245,7 @@ buck6 {
};
aldo1_3v3: aldo1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
diff --git a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
index 790234f35..d4adfc5b7 100644
--- a/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts
@@ -214,6 +214,7 @@ &i2c8 {
pmic at 41 {
compatible = "spacemit,p1";
reg = <0x41>;
+ bootph-pre-ram;
interrupts = <64>;
vin1-supply = <&vcc4v0>;
vin2-supply = <&vcc4v0>;
@@ -227,6 +228,7 @@ pmic at 41 {
regulators {
buck1_0v9: buck1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <5000>;
@@ -241,6 +243,7 @@ buck2 {
};
buck3_1v8: buck3 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <5000>;
@@ -269,6 +272,7 @@ buck6 {
};
aldo1: aldo1 {
+ bootph-pre-ram;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
@@ -366,6 +370,7 @@ &qspi {
flash at 0 {
compatible = "jedec,spi-nor";
reg = <0>;
+ bootph-pre-ram;
spi-max-frequency = <26500000>;
spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>;
--
2.43.0
More information about the linux-riscv
mailing list