lkml.org 
[lkml]   [2020]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 100/252] ARM: dts: imx6q-prti6q: fix PHY address
    Date
    From: Oleksij Rempel <o.rempel@pengutronix.de>

    [ Upstream commit e402599e5e5e0b2758d7766fd9f6d7953d4ccd85 ]

    Due to bug in the bootloader, the PHY has floating address and may
    randomly change on each PHY reset. To avoid it, the updated bootloader
    with the following patch[0] should be used:

    | ARM: protonic: disable on-die termination to fix PHY bootstrapping
    |
    | If on-die termination is enabled, the RXC pin of iMX6 will be pulled
    | high. Since we already have an 10K pull-down on board, the RXC level on
    | PHY reset will be ~800mV, which is mostly interpreted as 1. On some
    | reboots we get 0 instead and kernel can't detect the PHY properly.
    |
    | Since the default 0x020e07ac value is 0, it is sufficient to remove this
    | entry from the affected imxcfg files.
    |
    | Since we get stable 0 on pin PHYADDR[2], the PHY address is changed from
    | 4 to 0.

    With latest bootloader update, the PHY address will be fixed to "0".

    [0] https://git.pengutronix.de/cgit/barebox/commit/?id=93f7dcf631edfcda19e7757b28d66017ea274b81

    Fixes: 0d446a505592 ("ARM: dts: add Protonic PRTI6Q board")
    Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm/boot/dts/imx6q-prti6q.dts | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/arm/boot/dts/imx6q-prti6q.dts b/arch/arm/boot/dts/imx6q-prti6q.dts
    index de6cbaab8b499..671bb3a6665d8 100644
    --- a/arch/arm/boot/dts/imx6q-prti6q.dts
    +++ b/arch/arm/boot/dts/imx6q-prti6q.dts
    @@ -213,8 +213,8 @@
    #size-cells = <0>;

    /* Microchip KSZ9031RNX PHY */
    - rgmii_phy: ethernet-phy@4 {
    - reg = <4>;
    + rgmii_phy: ethernet-phy@0 {
    + reg = <0>;
    interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>;
    reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
    reset-assert-us = <10000>;
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-11-23 14:41    [W:4.015 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site