[PATCH 1/1] ARM: dts: rockchip: Wifi improvements for Sonoff iHost
Heiko Stübner
heiko at sntech.de
Sun Apr 27 04:14:58 PDT 2025
Hi,
Am Sonntag, 27. April 2025, 08:50:13 Mitteleuropäische Sommerzeit schrieb Hao Zhang:
> From: "hao.zhang" <hao.zhang at coolkit.cn>
>
> After some Sonoff-iHosts have been running for a long time,
> the WiFi module will run abnormally.
>
> Adjust the pmu_io_domains and sdio properties
> to solve the WiFi module operation abnormality.
"adjust the ... properties", really sounds like hacking around some issue.
> diff --git a/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi b/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
> index 9a87dc0d5f66..3c0371103015 100644
> --- a/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
> +++ b/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
> @@ -323,15 +323,15 @@ wifi_enable_h: wifi-enable-h {
> };
>
> &pmu_io_domains {
> - pmuio0-supply = <&vcc1v8_pmu>;
> + pmuio0-supply = <&vcc3v3_sys>;
> pmuio1-supply = <&vcc3v3_sys>;
> vccio1-supply = <&vcc_1v8>;
> vccio2-supply = <&vccio_sd>;
> - vccio3-supply = <&vcc3v3_sd>;
> - vccio4-supply = <&vcc_dovdd>;
> - vccio5-supply = <&vcc_1v8>;
> - vccio6-supply = <&vcc_1v8>;
> - vccio7-supply = <&vcc_dovdd>;
> + vccio3-supply = <&vcc_3v3>;
> + vccio4-supply = <&vcc_3v3>;
> + vccio5-supply = <&vcc_3v3>;
> + vccio6-supply = <&vcc_3v3>;
> + vccio7-supply = <&vcc_1v8>;
> status = "okay";
> };
First of all, this would be two patches. If the io-domains do not follow
the schematics, fixing this is one patch, but for such a big change
I do expect actual references to the devices' schematics for that.
This is even more important, as you're switching some supplies
between sources of different voltages
> @@ -342,18 +342,15 @@ &saradc {
>
> &sdio {
> bus-width = <4>;
> - cap-sd-highspeed;
> cap-sdio-irq;
> keep-power-in-suspend;
> - max-frequency = <50000000>;
> + max-frequency = <25000000>;
> mmc-pwrseq = <&sdio_pwrseq>;
> + supports-sdio;
> non-removable;
> pinctrl-names = "default";
> pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>;
> rockchip,default-sample-phase = <90>;
> - sd-uhs-sdr50;
> - vmmc-supply = <&vcc3v3_sd>;
> - vqmmc-supply = <&vcc_1v8>;
> status = "okay";
> };
and here it looks like you're more or less randomly adding and removing
properties until it worked "for you".
Especially removing the supply-regulators does not really make sense.
If you see instabilities, the main contenders would be max-frequency and
sd-uhs-sdr50 as culprits.
Similarly, supports-sdio is not even a valid property, so neither the
devicetree spec does allow it, nor does the kernel handle it at all.
Heiko
More information about the linux-arm-kernel
mailing list