[PATCH v2] ARM: dts: sunxi: Add a startup delay for fixed regulator enabled phys
Chen-Yu Tsai
wens at csie.org
Mon Jun 6 02:32:31 PDT 2016
Hi,
On Sat, Jun 4, 2016 at 6:58 PM, Hans de Goede <hdegoede at redhat.com> wrote:
> It seems that recent kernels have a shorter timeout when scanning for
> ethernet phys causing us to hit a timeout on boards where the phy's
> regulator gets enabled just before scanning, which leads to non working
> ethernet.
>
> A 10ms startup delay seems to be enough to fix it, this commit adds a
> 20ms startup delay just to be safe.
I couldn't find any power sequencing information on the RTL8201CP,
which is what I assume these boards are using.
The RTL8211E does mention after power ramp up, there's a 20ms
delay before the core is ready.
If 20ms works for you, I've nothing against it though. Just putting the
information out there.
> This has been tested on a sun4i-a10-a1000 and sun5i-a10s-wobo-i5 board,
> both of which have non-working ethernet on recent kernels without this
> fix.
>
> Cc: stable at vger.kernel.org
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
> Changes in v2:
> -Add Cc stable
> ---
> arch/arm/boot/dts/sun4i-a10-a1000.dts | 1 +
> arch/arm/boot/dts/sun4i-a10-hackberry.dts | 1 +
> arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts | 1 +
> arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts | 1 +
> 4 files changed, 4 insertions(+)
>
> diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
> index c92a1ae..fa70b8f 100644
> --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
> +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
> @@ -84,6 +84,7 @@
> regulator-name = "emac-3v3";
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> + startup-delay-us = <20000>;
> enable-active-high;
> gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>;
> };
> diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
> index 2b17c51..6de83a6 100644
> --- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
> +++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
> @@ -66,6 +66,7 @@
> regulator-name = "emac-3v3";
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> + startup-delay-us = <20000>;
> enable-active-high;
> gpio = <&pio 7 19 GPIO_ACTIVE_HIGH>;
> };
> diff --git a/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts b/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
> index 7afc7a6..e28f080 100644
> --- a/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
> +++ b/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
> @@ -80,6 +80,7 @@
> regulator-name = "emac-3v3";
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> + startup-delay-us = <20000>;
> enable-active-high;
> gpio = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
> };
> diff --git a/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts b/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
> index 52d18ca..b5de75f 100644
> --- a/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
> +++ b/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
> @@ -79,6 +79,7 @@
> regulator-name = "emac-3v3";
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> + startup-delay-us = <20000>;
> enable-active-high;
> gpio = <&pio 0 2 GPIO_ACTIVE_HIGH>;
> };
> --
> 2.7.4
>
More information about the linux-arm-kernel
mailing list