<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/net, branch v2025.01-rc1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/net?h=v2025.01-rc1</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/net?h=v2025.01-rc1'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2024-10-27T23:04:02Z</updated>
<entry>
<title>Merge a patch series to improve dc2114x support</title>
<updated>2024-10-27T23:04:02Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-10-27T16:15:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=568407fab5336c00cf0265e9de6c507078988504'/>
<id>urn:sha1:568407fab5336c00cf0265e9de6c507078988504</id>
<content type='text'>
This patch series by Hanyuan Zhao &lt;hanyuan-z@qq.com&gt; provides a number of
improvements to the dc2114x driver.

Link: https://lore.kernel.org/r/tencent_BD4B002FC63A5F77969D9BD1FFF125371C08@qq.com
</content>
</entry>
<entry>
<title>Merge patch series "net: ksz9477: add support for KSZ GbE switches using SPI bus"</title>
<updated>2024-10-27T23:03:40Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-10-27T16:19:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=98b9dd3387cab34852d0f18d2ffae985c270e8c5'/>
<id>urn:sha1:98b9dd3387cab34852d0f18d2ffae985c270e8c5</id>
<content type='text'>
Romain Naour &lt;romain.naour@smile.fr&gt; says:

We are using a custom board where an ethernet switch device KSZ9896 is
available. This family of devices can use several types of serial bus
as management interface: mdio, i2c or SPI. Due to board design
constraints and because we initially planned to use this device only
from Linux, the SPI bus was used.

Luckily we are using a recent enough u-boot release where KSZ9477
driver is available... but only for the i2c interface. Indeed, unlike
the kernel driver, the KSZ9477 driver doesn't use the regmap API to
access the underlying bus since the regmap API is limited to direct
memory access [1].

Until regmap API with bus support is available in U-boot, we introduced
struct ksz_phy_ops to store low-level ksz bus operations (I2C or SPI).

This series has been tested on the current master branch (after v2024.10
release).

[1] https://source.denx.de/u-boot/u-boot/-/blob/v2024.10-rc5/drivers/core/Kconfig?ref_type=tags#L188

Link: https://lore.kernel.org/r/20241008075435.1572727-1-romain.naour@smile.fr
</content>
</entry>
<entry>
<title>Merge patch series "Add driver for Motorcomm YT8821 2.5G ethernet phy"</title>
<updated>2024-10-27T23:03:40Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-10-27T16:19:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3251da3864acf3f940648779d5c98d8e78830577'/>
<id>urn:sha1:3251da3864acf3f940648779d5c98d8e78830577</id>
<content type='text'>
Frank Sae &lt;Frank.Sae@motor-comm.com&gt; says:

YT8531 as Gigabit transceiver uses bit15:14(bit9 reserved default 0) as phy
speed mask, YT8821 as 2.5 Gigabit transceiver uses bit9 bit15:14 as phy
speed mask.

Be compatible to YT8821, reform phy speed mask and phy speed macro.

Based on update above, add YT8821 2.5G phy driver.

Link: https://lore.kernel.org/r/20240912120225.28884-1-Frank.Sae@motor-comm.com
</content>
</entry>
<entry>
<title>net: recv(): return -EAGAIN instead of 0 when no cleanup is expected</title>
<updated>2024-10-27T23:03:40Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2024-10-09T09:42:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=63150710e34aa9d5d7c45e142e70016b31af2c04'/>
<id>urn:sha1:63150710e34aa9d5d7c45e142e70016b31af2c04</id>
<content type='text'>
Some drivers do not behave properly when free_pkt() is called with a
length of zero. It is an issue I observed when developing the lwIP
series [1] (see "QEMU CI tests for r2dplus_i82557c, r2dplus_rtl8139"
in the change log) and which I fixed incorrectly by not calling
free_pkt() when recv() returns 0. That turned out to be wrong for two
reasons:

1. The DM documentation [2] clearly requires it:

  "The **recv** function polls for availability of a new packet. [...]
   If there is an error [...], return 0 if you require the packet to
   be cleaned up normally, or a negative error code otherwise (cleanup
   not necessary or already done).

   If **free_pkt** is defined, U-Boot will call it after a received
   packet has been processed [...]. free_pkt() will be called after
   recv(), for the same packet [...]"

2. The imx8mp_evk platform will fail with OOM errors if free_pkt() is
   not called after recv() returns 0:

   u-boot=&gt; tftp 192.168.0.16:50M
   Using ethernet@30be0000 device
   TFTP from server 192.168.0.16; our IP address is 192.168.0.48
   Filename '50M'.
   Load address: 0x40480000
   Loading: #######################fecmxc_recv: error allocating packetp
   fecmxc_recv: error allocating packetp
   fecmxc_recv: error allocating packetp
   ...

Therefore, make recv() return -EAGAIN instead of 0 when no packet is
available and the driver doesn't expect free_pkt() to be called
subsequently.

[1] https://lists.denx.de/pipermail/u-boot/2024-August/562861.html
[2] doc/develop/driver-model/ethernet.rst

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>net: ksz9477: add support for KSZ GbE switches using SPI bus</title>
<updated>2024-10-27T16:19:44Z</updated>
<author>
<name>Romain Naour</name>
<email>romain.naour@smile.fr</email>
</author>
<published>2024-10-08T07:54:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6989f7ba1657ea55315396767222eba79500a397'/>
<id>urn:sha1:6989f7ba1657ea55315396767222eba79500a397</id>
<content type='text'>
The Microchip KSZ Gigabit Ethernet Switches support
SGMII/RGMII/MII/RMII with register access via SPI, I2C, or MDIO.

Since this driver is now able to check the underlying bus type,
handle the case when the SPI bus is used.

The SPI bus is only used for 8/16/32 wide access of registers.

Reword Kconfig option to include SPI bus support.

Signed-off-by: Romain Naour &lt;romain.naour@smile.fr&gt;
</content>
</entry>
<entry>
<title>net: ksz9477: prepare ksz9477 without I2C support</title>
<updated>2024-10-27T16:19:44Z</updated>
<author>
<name>Romain Naour</name>
<email>romain.naour@smile.fr</email>
</author>
<published>2024-10-08T07:54:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d164577fdbb3e49b3d93ab170753a7ab94790490'/>
<id>urn:sha1:d164577fdbb3e49b3d93ab170753a7ab94790490</id>
<content type='text'>
With the upcoming ksz9477 SPI support added, the I2C support
will be optional. Either the I2C or the SPI bus will be used.

For now, DM_I2C is still mandatory.

Signed-off-by: Romain Naour &lt;romain.naour@smile.fr&gt;
</content>
</entry>
<entry>
<title>net: ksz9477: rename ksz_i2c_probe() to ksz_probe()</title>
<updated>2024-10-27T16:19:44Z</updated>
<author>
<name>Romain Naour</name>
<email>romain.naour@smile.fr</email>
</author>
<published>2024-10-08T07:54:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8a63113de037a5d1f86d0b7081ad88f87e86787d'/>
<id>urn:sha1:8a63113de037a5d1f86d0b7081ad88f87e86787d</id>
<content type='text'>
In order to support management bus other than the I2C, rename
ksz_i2c_probe() to ksz_probe() since this function is no longer
specific to the I2C bus.

Signed-off-by: Romain Naour &lt;romain.naour@smile.fr&gt;
</content>
</entry>
<entry>
<title>net: ksz9477: store ksz bus operations functions</title>
<updated>2024-10-27T16:19:44Z</updated>
<author>
<name>Romain Naour</name>
<email>romain.naour@smile.fr</email>
</author>
<published>2024-10-08T07:54:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9c4413b24697ec3942e92f74772c3798fcf0ad6b'/>
<id>urn:sha1:9c4413b24697ec3942e92f74772c3798fcf0ad6b</id>
<content type='text'>
The ksz9477 Linux kernel driver is based on regmap API to seamlessly
communicate to switch devices connected via different buses like SPI
or I2C. The current regmap implementation in U-Boot only supports
memory-mapped registers access [1].

Until regmap API with bus support is available in U-boot, introduce
struct ksz_phy_ops to store low-level ksz bus operations (I2C for now).

[1] https://lists.denx.de/pipermail/u-boot/2018-May/329392.html

Signed-off-by: Romain Naour &lt;romain.naour@smile.fr&gt;
</content>
</entry>
<entry>
<title>net: ksz9477: set i2c bus offset length only when needed</title>
<updated>2024-10-27T16:19:44Z</updated>
<author>
<name>Romain Naour</name>
<email>romain.naour@smile.fr</email>
</author>
<published>2024-10-08T07:54:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b507f1a5077f8589df000e32715978b8f43a02b6'/>
<id>urn:sha1:b507f1a5077f8589df000e32715978b8f43a02b6</id>
<content type='text'>
In order to add ksz9477 SPI bus support, check parent bus
is an I2C bus before calling i2c_set_offset_len().

Doing so, ksz_i2c_probe() will now return an error (-EINVAL) if
the parent bus is not the one expected by the ksz-switch u-boot
driver.

Indeed, the DSA KSZ devicetree binding doesn't specify anything
about the underlying bus between the SoC and the DSA switch, so
the same "compatible" string can be used wathever the management
interface used (SPI or I2C).

The ksz-switch u-boot driver currently only support I2C interface
but will match a compatible "microchip,ksz9xxx" located under
under an SPI bus node.

Signed-off-by: Romain Naour &lt;romain.naour@smile.fr&gt;
</content>
</entry>
<entry>
<title>net: ksz9477: rename udevice_id tab to ksz_ids</title>
<updated>2024-10-27T16:19:44Z</updated>
<author>
<name>Romain Naour</name>
<email>romain.naour@smile.fr</email>
</author>
<published>2024-10-08T07:54:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=04c183c542ad727afa946dc879a1b76785573548'/>
<id>urn:sha1:04c183c542ad727afa946dc879a1b76785573548</id>
<content type='text'>
The DSA KSZ devicetree binding doesn't specify anything about the
underlying bus between the SoC and the DSA switch, so the same
"compatible" string can be used wathever the management interface
used. The driver must be able to access the underlying bus without
any help from the compatible string (like for TPM2 TIS devices).

So, rename udevice_id tab to ksz_ids since it's not specific to i2c
bus.

Signed-off-by: Romain Naour &lt;romain.naour@smile.fr&gt;
</content>
</entry>
</feed>
