Re: [PATCH] riscv: dts: jh7110: Enable PLL node in SPL

E Shattow
2024-07-11T19:55:23Z

Ping. This regression still exists and is now in stable release.
Should we revert this change or how must it be fixed?

-E

On Sat, Apr 20, 2024 at 3:56 AM E Shattow <lucent@gmail.com> wrote:
>
> On Fri, Apr 19, 2024 at 5:51 PM Bo Gan <ganboing@gmail.com> wrote:
> >
> ...snip...
> >
> > If without the change (reverted), can you read/write the same SD media in U-boot
> > proper? (U-boot proper will switch BUS_ROOT to PLL2).
>
> I tested again this change in commit e6b7aeef, before this change in
> parent commit e6b7aeef~, af04f37a HEAD from today 19th Apr 2024 (which
> due to not matching EEPROM product_id will be in the fall-through case
> of board/starfive/visionfive2/spl.c), af04f37a with applied patchset
> "board: starfive: add Milk-V Mars CM support" from 15th Apr 2024, and
> af04f37a reverting changes from e6b7aeef also with applied patchset
> "board: starfive: add Milk-V Mars CM support" from 15th Apr 2024.
>
> In all builds is OpenSBI at commit d4d2582e HEAD from today 19 Apr 2024.
>
> For each build tested per vendor Milk-V the Mars CM Lite (SD Card only
> non-eMMC) has pinmux of GPIO22 instead of GPIO62:
>
> -- a/arch/riscv/dts/jh7110-starfive-visionfive-2.dtsi
> +++ b/arch/riscv/dts/jh7110-starfive-visionfive-2.dtsi
> @@ -233,7 +233,7 @@
>
> mmc0_pins: mmc0-pins {
> mmc0-pins-rest {
> - pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST,
> + pinmux = <GPIOMUX(22, GPOUT_SYS_SDIO0_RST,
> GPOEN_ENABLE, GPI_NONE)>;
> bias-pull-up;
> drive-strength = <12>;
>
> U-Boot config is simply starfive_visionfive2_defconfig.
>
> Results are as follows.
>
> StarFive # mac
> --------EEPROM INFO--------
> Vendor : MILK-V
> Product full SN: MARC-V10-2340-D004E000-000006DF
> data version: 0x2
> PCB revision: 0xc1
> BOM revision: A
> Ethernet MAC0 address: 6c:cf:39:00:83:11
> Ethernet MAC1 address: 6c:cf:39:00:83:12
> --------EEPROM INFO--------
>
> e6b7aeef: 2GB microSD (no speed class markings)
> af04f37a: 2GB microSD (no speed class markings)
> af04f37a with Mars CM patchset: 2GB microSD (no speed class markings)
> StarFive # mmc rescan ; mmc info
> unable to select a mode
> unable to select a mode
>
> e6b7aeef~: 2GB microSD (no speed class markings)
> af04f37a revert e6b7aeef with Mars CM patchset: 2GB microSD (no speed
> class markings)
> StarFive # mmc rescan ; mmc info
> Device: mmc@16010000
> Manufacturer ID: 1c
> OEM: 5356
> Name: USD
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> Rd Block Len: 512
> SD version 2.0
> High Capacity: No
> Capacity: 1.9 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 Bytes
>
> e6b7aeef: 8GB microSD Class 4
> e6b7aeef~: 8GB microSD Class 4
> af04f37a: 8GB microSD Class 4
> af04f37a with Mars CM patchset: 8GB microSD Class 4
> af04f37a revert e6b7aeef with Mars CM patchset: 8GB microSD Class 4
> StarFive # mmc rescan ; mmc info
> Device: mmc@16010000
> Manufacturer ID: 2
> OEM: 544d
> Name: SA08G
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 7.4 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 Bytes
>
> e6b7aeef: 8GB microSD Class 10
> e6b7aeef~: 8GB microSD Class 10
> af04f37a: 8GB microSD Class 10
> af04f37a with Mars CM patchset: 8GB microSD Class 10
> af04f37a revert e6b7aeef with Mars CM patchset: 8GB microSD Class 10
> StarFive # mmc rescan ; mmc info
> Device: mmc@16010000
> Manufacturer ID: 74
> OEM: 4a60
> Name: USD
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 7.5 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 Bytes
>
> e6b7aeef: 32GB microSD Class 10 A1 U1 HC1
> e6b7aeef~: 32GB microSD Class 10 A1 U1 HC1
> af04f37a: 32GB microSD Class 10 A1 U1 HC1
> af04f37a with Mars CM patchset: 32GB microSD Class 10 A1 U1 HC1
> af04f37a revert e6b7aeef with Mars CM patchset: 32GB microSD Class 10 A1 U1 HC1
> StarFive # mmc rescan ; mmc info
> Device: mmc@16010000
> Manufacturer ID: 3
> OEM: 5344
> Name: SC32G
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 29.7 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 Bytes
>
> e6b7aeef: 200GB microSD Class 10 A1 U1 XC1
> e6b7aeef~: 200GB microSD Class 10 A1 U1 XC1
> af04f37a: 200GB microSD Class 10 A1 U1 XC1
> af04f37a with Mars CM patchset: 200GB microSD Class 10 A1 U1 XC1
> af04f37a revert e6b7aeef with Mars CM patchset: 200GB microSD Class 10 A1 U1 XC1
> StarFive # mmc rescan ; mmc info
> Device: mmc@16010000
> Manufacturer ID: 3
> OEM: 5344
> Name: SC200
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 183.3 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 Bytes
>
> e6b7aeef: 256GB microSD Class U3 XC1
> e6b7aeef~: 256GB microSD Class U3 XC1
> af04f37a: 256GB microSD Class U3 XC1
> af04f37a with Mars CM patchset: 256GB microSD Class U3 XC1
> af04f37a revert e6b7aeef with Mars CM patchset: 256GB microSD Class U3 XC1
> StarFive # mmc rescan ; mmc info
> Device: mmc@16010000
> Manufacturer ID: 1b
> OEM: 534d
> Name: GE4S5
> Bus Speed: 50000000
> Mode: SD High Speed (50MHz)
> Rd Block Len: 512
> SD version 3.0
> High Capacity: Yes
> Capacity: 238.8 GiB
> Bus Width: 1-bit
> Erase Group Size: 512 Bytes
>
> > One potential problem I
> > could think of is perhaps the SPL built is without SPL_PINCTRL_STARFIVE/JH7110
> > or the u-boot dts is missing the pinctrl that properly sets drive-strength and
> > other properties of the mmc0/1 pins. What dtb are you using? I tested this with
> > visionfive2 and it's working fine. Can you share the tree/config you used to
> > built for Milk-V Mars CM Lite? I don't see the corresponding dts being checked-
> > in to u-boot tree, so it helps if you can share the code. Thanks!
> >
> > Bo
>
> As described, this is upstream U-Boot. Does this 'mmc info' testing
> help give some ideas to suggest?
>
> -E