Hi Hung-Chun, Thanks for testing this series
On Sat, 31 Oct 2026 at 17:26, Hung-Chun Tseng <[email protected]> wrote: > > Hi Anand, > > Thanks for sending this. I tested the series on a Milk-V Jupiter, > booting from SD. It reaches the U-Boot prompt, but the SPL no longer > finds the PMIC: > > Get board name:k1-x_milkv-jupiter > No PMIC (-19), leaving rails as found > DDR firmware: [0xc0820740]:0xf0227179, size:0x8d98 > > With a Jupiter -u-boot.dtsi that has the same i2c8/pmic block this > patch removes, the SPL sets the rails before DDR init: > > vdd_core, value:900000 > vdd_1v8, value:1800000 > vdd_1v8_mmc, value:3300000 > > The commit message says the regulator configuration moves to > dts/upstream, but k1-milkv-jupiter.dts there has no bootph tags and no > vdd_core/vdd_1v8/vdd_1v8_mmc names, so the PMIC is not in the SPL > device tree and pmic_init() skips it. It works on this board only > because the rails come up at usable voltages. How do you plan to let > the SPL find the rails? > > The new file is also not picked up until 6/6. U-Boot includes > <dtb>-u-boot.dtsi, $(SYS_SOC)-u-boot.dtsi, $(SYS_CPU)-u-boot.dtsi, > $(SYS_VENDOR)-u-boot.dtsi and u-boot.dtsi (scripts/Makefile.lib), > which on K1 means k1-u-boot.dtsi or spacemit-u-boot.dtsi. Nothing > includes spacemit-k1-u-boot.dtsi until 6/6 sets > CONFIG_DEVICE_TREE_INCLUDES, so 1/6 to 5/6 build without any K1 > overlay, which breaks bisection. I have not built each step. Naming the > file k1-u-boot.dtsi would get it included from this patch on, and 6/6 > would not need DEVICE_TREE_INCLUDES. > I think configs/spacemit_k3_defconfig uses the same approach. CONFIG_DEVICE_TREE_INCLUDES="spacemit-k3-u-boot.dtsi" It is consistent to use the same naming format for files. > The MusePi Pro overlay also set sdhci0's cd-gpios to GPIO 80 active > low, while k1-musepi-pro.dts in dts/upstream has it active high, so > removing the override flips card detect on that board. Was the > override fixing the upstream polarity? I haven't verified this yet, but we can retain the override if you prefer > > Two other things I saw, neither caused by this series: the SPI NOR on > the Jupiter is a GigaDevice part (JEDEC c8 40 17), which needs > "configs: k1: enable GigaDevice SPI NOR flash support" [1], and > U-Boot reports 8 GiB on this 4 GiB board, a known issue in > ddr_get_density(). > Yep, you can enable CONFIG_SPI_FLASH_GIGADEVICE in the configs/spacemit_k1_defconfig > [1] > https://lore.kernel.org/u-boot/[email protected]/ > You likely need to update the regulator name in your upstream patches to match the specific naming convention of your board. for example regulators { buck1_0v9: buck1 { regulator-name = "vdd_core"; bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck4: buck4 { bootph-pre-ram; regulator-name = "vdd_1v8"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3300000>; regulator-ramp-delay = <5000>; regulator-always-on; }; aldo1: aldo1 { regulator-name = "vdd_1v8_mmc"; bootph-pre-ram; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; }; You can verify this using the command below # dtc -I dtb -O dts spl/u-boot-spl.dtb | grep -n -E \ 'regulator|pmic|reset-controller|reset-gpios|vmmc-supply|vqmmc-supply' 136: pmic@41 { 149: regulators { 152: regulator-name = "vdd_core"; 153: regulator-min-microvolt = <0x7a120>; 154: regulator-max-microvolt = <0x100590>; 155: regulator-ramp-delay = <0x1388>; 156: regulator-always-on; 161: regulator-name = "vdd_1v8"; 162: regulator-min-microvolt = <0x7a120>; 163: regulator-max-microvolt = <0x1b7740>; 164: regulator-ramp-delay = <0x1388>; 165: regulator-always-on; 170: regulator-name = "vdd_1v8_mmc"; 171: regulator-min-microvolt = <0x7a120>; 172: regulator-max-microvolt = <0x33e140>; 173: regulator-boot-on; 298: vmmc-supply = <0x3d>; 299: vqmmc-supply = <0x3e>; If you get this working on your boards, please consider updating it in your patch series. > Thanks, > Hung-Chun Thanks -Anand
