From: DENG Qingfang <dqfext@gmail.com> To: Andrew Lunn <andrew@lunn.ch> Cc: "David S. Miller" <davem@davemloft.net>, "Florian Fainelli" <f.fainelli@gmail.com>, "Heiner Kallweit" <hkallweit1@gmail.com>, "Jakub Kicinski" <kuba@kernel.org>, "Landen Chao" <Landen.Chao@mediatek.com>, "Matthias Brugger" <matthias.bgg@gmail.com>, "Russell King" <linux@armlinux.org.uk>, "Sean Wang" <sean.wang@mediatek.com>, "Vivien Didelot" <vivien.didelot@gmail.com>, "Vladimir Oltean" <olteanv@gmail.com>, "Rob Herring" <robh+dt@kernel.org>, "Linus Walleij" <linus.walleij@linaro.org>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Sergio Paracuellos" <sergio.paracuellos@gmail.com>, linux-kernel@vger.kernel.org, "moderated list:ARM/Mediatek SoC support" <linux-mediatek@lists.infradead.org>, linux-staging@lists.linux.dev, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, netdev <netdev@vger.kernel.org>, "Weijie Gao" <weijie.gao@mediatek.com>, "Chuanhong Guo" <gch981213@gmail.com>, "René van Dorst" <opensource@vdorst.com> Subject: Re: [RFC net-next 1/4] net: phy: add MediaTek PHY driver Date: Tue, 6 Apr 2021 23:37:51 +0800 [thread overview] Message-ID: <CALW65jYGpTs+30k7vxfLpQaK1sqHf4r7zosSOxp4W5U+Eh-Wvg@mail.gmail.com> (raw) In-Reply-To: <YGx8c5Jt2D7fB0cO@lunn.ch> On Tue, Apr 6, 2021 at 11:21 PM Andrew Lunn <andrew@lunn.ch> wrote: > > On Tue, Apr 06, 2021 at 10:18:16PM +0800, DENG Qingfang wrote: > > Add support for MediaTek PHYs found in MT7530 and MT7531 switches. > > Do you know if this PHY is available standalone? Not that I know of. > > > +static int mt7531_phy_config_init(struct phy_device *phydev) > > +{ > > + mtk_phy_config_init(phydev); > > + > > + /* PHY link down power saving enable */ > > + phy_set_bits(phydev, 0x17, BIT(4)); > > + phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, 0xc6, 0x300); > > + > > + /* Set TX Pair delay selection */ > > + phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x13, 0x404); > > + phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x14, 0x404); > > This gets me worried about RGMII delays. We have had bad backwards > compatibility problems with PHY drivers which get RGMII delays wrong. > > Since this is an internal PHY, i suggest you add a test to the > beginning of mt7531_phy_config_init(): > > if (phydev->interface != PHY_INTERFACE_MODE_INTERNAL) > return -EINVAL; Okay. Will add it to v2. > > We can then solve RGMII problems when somebody actually needs RGMII. > > Andrew
WARNING: multiple messages have this Message-ID (diff)
From: DENG Qingfang <dqfext@gmail.com> To: Andrew Lunn <andrew@lunn.ch> Cc: "David S. Miller" <davem@davemloft.net>, "Florian Fainelli" <f.fainelli@gmail.com>, "Heiner Kallweit" <hkallweit1@gmail.com>, "Jakub Kicinski" <kuba@kernel.org>, "Landen Chao" <Landen.Chao@mediatek.com>, "Matthias Brugger" <matthias.bgg@gmail.com>, "Russell King" <linux@armlinux.org.uk>, "Sean Wang" <sean.wang@mediatek.com>, "Vivien Didelot" <vivien.didelot@gmail.com>, "Vladimir Oltean" <olteanv@gmail.com>, "Rob Herring" <robh+dt@kernel.org>, "Linus Walleij" <linus.walleij@linaro.org>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Sergio Paracuellos" <sergio.paracuellos@gmail.com>, linux-kernel@vger.kernel.org, "moderated list:ARM/Mediatek SoC support" <linux-mediatek@lists.infradead.org>, linux-staging@lists.linux.dev, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, netdev <netdev@vger.kernel.org>, "Weijie Gao" <weijie.gao@mediatek.com>, "Chuanhong Guo" <gch981213@gmail.com>, "René van Dorst" <opensource@vdorst.com> Subject: Re: [RFC net-next 1/4] net: phy: add MediaTek PHY driver Date: Tue, 6 Apr 2021 23:37:51 +0800 [thread overview] Message-ID: <CALW65jYGpTs+30k7vxfLpQaK1sqHf4r7zosSOxp4W5U+Eh-Wvg@mail.gmail.com> (raw) In-Reply-To: <YGx8c5Jt2D7fB0cO@lunn.ch> On Tue, Apr 6, 2021 at 11:21 PM Andrew Lunn <andrew@lunn.ch> wrote: > > On Tue, Apr 06, 2021 at 10:18:16PM +0800, DENG Qingfang wrote: > > Add support for MediaTek PHYs found in MT7530 and MT7531 switches. > > Do you know if this PHY is available standalone? Not that I know of. > > > +static int mt7531_phy_config_init(struct phy_device *phydev) > > +{ > > + mtk_phy_config_init(phydev); > > + > > + /* PHY link down power saving enable */ > > + phy_set_bits(phydev, 0x17, BIT(4)); > > + phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, 0xc6, 0x300); > > + > > + /* Set TX Pair delay selection */ > > + phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x13, 0x404); > > + phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x14, 0x404); > > This gets me worried about RGMII delays. We have had bad backwards > compatibility problems with PHY drivers which get RGMII delays wrong. > > Since this is an internal PHY, i suggest you add a test to the > beginning of mt7531_phy_config_init(): > > if (phydev->interface != PHY_INTERFACE_MODE_INTERNAL) > return -EINVAL; Okay. Will add it to v2. > > We can then solve RGMII problems when somebody actually needs RGMII. > > Andrew _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek
next prev parent reply other threads:[~2021-04-06 15:37 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-06 14:18 [RFC net-next 0/4] MT7530 interrupt support DENG Qingfang 2021-04-06 14:18 ` DENG Qingfang 2021-04-06 14:18 ` [RFC net-next 1/4] net: phy: add MediaTek PHY driver DENG Qingfang 2021-04-06 14:18 ` DENG Qingfang 2021-04-06 15:21 ` Andrew Lunn 2021-04-06 15:21 ` Andrew Lunn 2021-04-06 15:37 ` DENG Qingfang [this message] 2021-04-06 15:37 ` DENG Qingfang 2021-04-06 15:47 ` Chun-Kuang Hu 2021-04-06 15:47 ` Chun-Kuang Hu 2021-04-06 15:57 ` DENG Qingfang 2021-04-06 15:57 ` DENG Qingfang 2021-04-06 16:05 ` Andrew Lunn 2021-04-06 16:05 ` Andrew Lunn 2021-04-06 16:06 ` Chun-Kuang Hu 2021-04-06 16:06 ` Chun-Kuang Hu 2021-04-06 16:02 ` Andrew Lunn 2021-04-06 16:02 ` Andrew Lunn 2021-04-06 16:14 ` Chun-Kuang Hu 2021-04-06 16:14 ` Chun-Kuang Hu 2021-04-06 14:18 ` [RFC net-next 2/4] net: dsa: mt7530: add interrupt support DENG Qingfang 2021-04-06 14:18 ` DENG Qingfang 2021-04-06 15:30 ` Andrew Lunn 2021-04-06 15:30 ` Andrew Lunn 2021-04-06 15:39 ` DENG Qingfang 2021-04-06 15:39 ` DENG Qingfang 2021-04-06 15:49 ` Andrew Lunn 2021-04-06 15:49 ` Andrew Lunn 2021-04-06 16:02 ` DENG Qingfang 2021-04-06 16:02 ` DENG Qingfang 2021-04-06 14:18 ` [RFC net-next 3/4] dt-bindings: net: dsa: add MT7530 interrupt controller binding DENG Qingfang 2021-04-06 14:18 ` DENG Qingfang 2021-04-06 14:18 ` [RFC net-next 4/4] staging: mt7621-dts: enable MT7530 interrupt controller DENG Qingfang 2021-04-06 14:18 ` DENG Qingfang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CALW65jYGpTs+30k7vxfLpQaK1sqHf4r7zosSOxp4W5U+Eh-Wvg@mail.gmail.com \ --to=dqfext@gmail.com \ --cc=Landen.Chao@mediatek.com \ --cc=andrew@lunn.ch \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=f.fainelli@gmail.com \ --cc=gch981213@gmail.com \ --cc=gregkh@linuxfoundation.org \ --cc=hkallweit1@gmail.com \ --cc=kuba@kernel.org \ --cc=linus.walleij@linaro.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=linux-staging@lists.linux.dev \ --cc=linux@armlinux.org.uk \ --cc=matthias.bgg@gmail.com \ --cc=netdev@vger.kernel.org \ --cc=olteanv@gmail.com \ --cc=opensource@vdorst.com \ --cc=robh+dt@kernel.org \ --cc=sean.wang@mediatek.com \ --cc=sergio.paracuellos@gmail.com \ --cc=vivien.didelot@gmail.com \ --cc=weijie.gao@mediatek.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.