From: "SkyLake Huang (黃啟澤)" <SkyLake.Huang@mediatek.com>
To: "andrew@lunn.ch" <andrew@lunn.ch>
Cc: "dqfext@gmail.com" <dqfext@gmail.com>,
"Steven Liu (劉人豪)" <steven.liu@mediatek.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"edumazet@google.com" <edumazet@google.com>,
"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
"hkallweit1@gmail.com" <hkallweit1@gmail.com>,
"horms@kernel.org" <horms@kernel.org>,
"daniel@makrotopia.org" <daniel@makrotopia.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>
Subject: Re: [PATCH net-next 3/3] net: phy: mediatek: add driver for built-in 2.5G ethernet PHY on MT7988
Date: Fri, 14 Feb 2025 13:25:49 +0000 [thread overview]
Message-ID: <2f0638583f9856499664659b5748056aa5f027c8.camel@mediatek.com> (raw)
In-Reply-To: <df67baa5-0f3d-4a42-a327-00452787908a@lunn.ch>
On Sun, 2025-01-19 at 18:31 +0100, Andrew Lunn wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>
>
> > + np = of_find_compatible_node(NULL, NULL, "mediatek,2p5gphy-
> > fw");
> > + if (!np)
> > + return -ENOENT;
>
> The device tree binding need documenting.
>
> > + /* Write magic number to safely stall MCU */
> > + phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x800e, 0x1100);
> > + phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x800f, 0x00df);
>
> 0x1100 and 0x00df are magic numbers, bit 0x800e and 0x800f are
> not. Please add #defines.
>
>
> > +
> > + for (i = 0; i < MT7988_2P5GE_PMB_FW_SIZE - 1; i += 4)
> > + writel(*((uint32_t *)(fw->data + i)), pmb_addr + i);
> > + dev_info(dev, "Firmware date code: %x/%x/%x, version:
> > %x.%x\n",
> > + be16_to_cpu(*((__be16 *)(fw->data +
> > + MT7988_2P5GE_PMB_FW_SIZE -
> > 8))),
> > + *(fw->data + MT7988_2P5GE_PMB_FW_SIZE - 6),
> > + *(fw->data + MT7988_2P5GE_PMB_FW_SIZE - 5),
> > + *(fw->data + MT7988_2P5GE_PMB_FW_SIZE - 2),
> > + *(fw->data + MT7988_2P5GE_PMB_FW_SIZE - 1));
> > +
> > + writew(reg & ~MD32_EN, mcu_csr_base + MD32_EN_CFG);
> > + writew(reg | MD32_EN, mcu_csr_base + MD32_EN_CFG);
> > + phy_set_bits(phydev, MII_BMCR, BMCR_RESET);
> > + /* We need a delay here to stabilize initialization of MCU */
> > + usleep_range(7000, 8000);
> > + dev_info(dev, "Firmware loading/trigger ok.\n");
>
> We generally don't spam the log for "Happy Days" conditions. Please
> only log if firmware download fails.
>
Thanks. I'll fix all the above.
> > +static int mt798x_2p5ge_phy_get_features(struct phy_device
> > *phydev)
> > +{
> > + int ret;
> > +
> > + ret = genphy_c45_pma_read_abilities(phydev);
> > + if (ret)
> > + return ret;
> > +
> > + /* This phy can't handle collision, and neither can (XFI)MAC
> > it's
> > + * connected to. Although it can do HDX handshake, it doesn't
> > support
> > + * CSMA/CD that HDX requires.
> > + */
> > + linkmode_clear_bit(ETHTOOL_LINK_MODE_100baseT_Half_BIT,
> > + phydev->supported);
>
> So it can do 10BaseT_Half? What about 1000BaseT_Half?
>
> As you said somewhere, 10/100/1G are not in the C45 space. So does
> genphy_c45_pma_read_abilities() report these features?
>
> Andrew
Nope. It can neither do 10BaseT_Half nor 1000BaseT_Half. 10 & 1000
Base_Half bits are already cleared in firmware.
BRs,
Sky
prev parent reply other threads:[~2025-02-14 13:34 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-16 1:21 [PATCH net-next 0/3] net: phy: mediatek: Add token-ring ops Sky Huang
2025-01-16 1:21 ` [PATCH net-next 1/3] net: phy: mediatek: Add token ring access helper functions in mtk-phy-lib Sky Huang
2025-01-16 12:55 ` Krzysztof Kozlowski
2025-01-16 12:55 ` Krzysztof Kozlowski
2025-01-19 17:12 ` Andrew Lunn
2025-02-13 7:39 ` SkyLake Huang (黃啟澤)
2025-02-13 13:29 ` Andrew Lunn
2025-02-13 13:43 ` Daniel Golle
2025-02-13 15:34 ` Andrew Lunn
2025-02-14 3:35 ` SkyLake Huang (黃啟澤)
2025-02-16 16:39 ` Andrew Lunn
2025-01-16 1:21 ` [PATCH net-next 2/3] net: phy: mediatek: Move some macros to phy-lib for later use Sky Huang
2025-01-19 17:20 ` Andrew Lunn
2025-01-16 1:21 ` [PATCH net-next 3/3] net: phy: mediatek: add driver for built-in 2.5G ethernet PHY on MT7988 Sky Huang
2025-01-16 1:58 ` Daniel Golle
2025-01-19 17:35 ` Andrew Lunn
2025-02-14 13:13 ` SkyLake Huang (黃啟澤)
2025-01-16 12:45 ` Krzysztof Kozlowski
2025-02-14 13:23 ` SkyLake Huang (黃啟澤)
2025-02-14 15:31 ` Krzysztof Kozlowski
2025-01-16 12:51 ` Krzysztof Kozlowski
2025-01-19 17:31 ` Andrew Lunn
2025-02-14 13:25 ` SkyLake Huang (黃啟澤) [this message]
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=2f0638583f9856499664659b5748056aa5f027c8.camel@mediatek.com \
--to=skylake.huang@mediatek.com \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=dqfext@gmail.com \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=matthias.bgg@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=steven.liu@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: link
Be 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.