Re: [PATCH v2 3/6] riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR

Andre Heider <[email protected]> Tue, 12 May 2026 14:18:16 +0200
Newsgroups dev.linux.lists.sashiko,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
On 12.05.26 1:55 PM, Rob Herring wrote:
> On Tue, May 12, 2026 at 1:51 AM Andre Heider <[email protected]> wrote:
>>
>> On 12.05.26 4:28 AM, [email protected] wrote:
>>> Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
>>> - [High] Potential overvoltage risk for the W25Q64FW SPI NOR flash via the 'buck4_3v3' supply.
>>> - [Low] The unit-address in the 'uboot' partition node name does not match the base address in its 'reg' property.
>>> --
>>>
>>> commit 470f9c74bd3cfec41ed69dd8c4e22535a7e8164f
>>> Author: Andre Heider <[email protected]>
>>>
>>> riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR
>>>
>>> This commit adds the QSPI controller node and describes the attached
>>> SPI NOR flash. It also provides a corresponding vendor flash partition
>>> layout.
>>>
>>>> diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
>>>> --- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
>>>> +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
>>>
>>> [ ... ]
>>>
>>>> @@ -166,7 +166,7 @@ buck3_1v8: buck3 {
>>>>                               regulator-always-on;
>>>>                       };
>>>>
>>>> -                    buck4 {
>>>> +                    buck4_3v3: buck4 {
>>>>                               regulator-min-microvolt = <500000>;
>>>>                               regulator-max-microvolt = <3300000>;
>>>>                               regulator-ramp-delay = <5000>;
>>>
>>> [ ... ]
>>>
>>>> @@ -249,6 +249,47 @@ dldo7 {
>>>>       };
>>>>    };
>>>>
>>>> +&qspi {
>>>> +    pinctrl-names = "default";
>>>> +    pinctrl-0 = <&qspi_cfg>;
>>>> +    status = "okay";
>>>> +
>>>> +    flash@0 {
>>>> +            compatible = "jedec,spi-nor";
>>>> +            reg = <0>;
>>>> +            spi-max-frequency = <26500000>;
>>>> +            spi-rx-bus-width = <4>;
>>>> +            spi-tx-bus-width = <4>;
>>>> +            vcc-supply = <&buck4_3v3>; /* QSPI_VCC1833 */
>>>
>>> The commit message notes this flash is a Winbond W25Q64FWSSAQ, which is a
>>> strict 1.8V part. Could this vcc-supply assignment cause hardware damage?
>>>
>>> The buck4 regulator has a maximum voltage of 3.3V. If the regulator defaults
>>> to 3.3V or is configured to 3.3V dynamically, it exceeds the absolute maximum
>>> ratings for the 1.8V W25Q series flash.
>>
>> As per the comment, there's a the non controllable regulator QSPI_VCC1833 in between.
>> k1-milkv-jupiter.dts matches in this regard.
>> I'll keep it unchanged unless someone has an idea how to express that in a better way.
> 
> That's what we have fixed-regulator binding for. It can take an input supply.

Yeah, I was just trying to avoid the "non controllable" comment with a request to get rid of it ;)
But I guess if I have a consumer that's fine.

Note that dtbs_check passes, AFAICT sashiko is the only instance noticing it.

Thanks,
Andre