<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/net/macb.c, branch v2026.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/net/macb.c?h=v2026.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/net/macb.c?h=v2026.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-05-06T09:07:22Z</updated>
<entry>
<title>net: macb: add gigabit implementation for fixed-link</title>
<updated>2026-05-06T09:07:22Z</updated>
<author>
<name>Christian DREHER</name>
<email>christian.dreher@nanoxplore.com</email>
</author>
<published>2026-04-28T18:04:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9717831e293708a8e4dcba0eaa40cd3b6afe78f6'/>
<id>urn:sha1:9717831e293708a8e4dcba0eaa40cd3b6afe78f6</id>
<content type='text'>
A fixed gigabit link on a non-gigabit controller is only rejected
during PHY init (even though there is no PHY to init), because, on
device-tree parsing, the controller is not probed, and it is still
unknown whether it is gigabit-capable.

This code was only tested on emulator with a full-duplex RGMII
interface, but is expected to work in GMII or half-duplex as well.

Signed-off-by: Christian DREHER &lt;christian.dreher@nanoxplore.com&gt;
</content>
</entry>
<entry>
<title>net: macb: do not set user_io when it does not exist</title>
<updated>2026-05-06T09:07:22Z</updated>
<author>
<name>Christian DREHER</name>
<email>christian.dreher@nanoxplore.com</email>
</author>
<published>2026-04-28T18:04:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d7fe1f4333a50b4a87fad1a22fae4524bba874f3'/>
<id>urn:sha1:d7fe1f4333a50b4a87fad1a22fae4524bba874f3</id>
<content type='text'>
Cadence Ethernet MAC has a feature named user_io, which provides
some input and some output signals for arbitrary purpose in the SoC.
From the driver code, I understand that, on Atmel SoC, it is used to
drive the PHY mode.

At least on Cadence IP7014 r1p12, this feature is optional, and I am
working on a SoC that does not instantiate it. The presence of this
feature is advertised in DCFG1, this patch merely disables the access
to the user_io register based on this information.

I did not apply this change to the non-gigabit capable versions of
the IP, as I do not have documentation for them, and a new non-gigabit
instance is unlikely to appear. I prefer avoiding regressions on old
systems.

Signed-off-by: Christian DREHER &lt;christian.dreher@nanoxplore.com&gt;
</content>
</entry>
<entry>
<title>net: macb: use SA1 for MAC filtering on GEM</title>
<updated>2026-05-06T09:07:22Z</updated>
<author>
<name>Christian DREHER</name>
<email>christian.dreher@nanoxplore.com</email>
</author>
<published>2026-04-28T18:04:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=361bb8f827b094cfff6adb56fc247e8d847209cd'/>
<id>urn:sha1:361bb8f827b094cfff6adb56fc247e8d847209cd</id>
<content type='text'>
The MACB uses specific address registers (SA Top and Bottom) to
filter source or destination MAC addresses.
On the Gigabit Ethernet version, SA1B is @0x88.
On the non-GEM version, SA1B is @0x98.

Before this commit, the code was always writing 0x98. By chance,
on GEM, this is the address of SA3B, allowing the driver to work
anyway.

The motivation for this change is to be able to use the driver on
an instance of the GEM with less than 4 SA registers.

Signed-off-by: Christian DREHER &lt;christian.dreher@nanoxplore.com&gt;
</content>
</entry>
<entry>
<title>net: macb: include arch/clk.h only when necessary</title>
<updated>2026-05-06T09:07:22Z</updated>
<author>
<name>Christian DREHER</name>
<email>christian.dreher@nanoxplore.com</email>
</author>
<published>2026-04-28T18:04:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9e23095298d12e086dd3d5d35972eb3e588d190d'/>
<id>urn:sha1:9e23095298d12e086dd3d5d35972eb3e588d190d</id>
<content type='text'>
It does not exist in my setup (an on-going arm64 SoC), and removing
it does not cause any missing declaration, but some code called when
CONFIG_CLK is missing calls get_macb_pclk_rate, which is only defined
in arch/arm/mach-at91/include/mach/clk.h

Signed-off-by: Christian DREHER &lt;christian.dreher@nanoxplore.com&gt;
</content>
</entry>
<entry>
<title>Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"</title>
<updated>2024-05-20T19:35:03Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-05-20T19:35:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=03de305ec48b0bb28554372abb40ccd46dbe0bf9'/>
<id>urn:sha1:03de305ec48b0bb28554372abb40ccd46dbe0bf9</id>
<content type='text'>
As part of bringing the master branch back in to next, we need to allow
for all of these changes to exist here.

Reported-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""</title>
<updated>2024-05-19T14:16:36Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-05-19T02:20:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d678a59d2d719da9e807495b4b021501f2836ca5'/>
<id>urn:sha1:d678a59d2d719da9e807495b4b021501f2836ca5</id>
<content type='text'>
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay
Ethernet"' I failed to notice that b4 noticed it was based on next and
so took that as the base commit and merged that part of next to master.

This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing
changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35.

Reported-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>net: Remove &lt;common.h&gt; and add needed includes</title>
<updated>2024-05-07T14:00:55Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-05-02T01:31:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0e407c7420c4fefd7f7e6cc7c81eeec6d084f9e4'/>
<id>urn:sha1:0e407c7420c4fefd7f7e6cc7c81eeec6d084f9e4</id>
<content type='text'>
Remove &lt;common.h&gt; from this driver directory and when needed
add missing include files directly.

Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>net: macb: Add support for fixed link</title>
<updated>2024-03-02T17:26:18Z</updated>
<author>
<name>BELOUARGA Mohamed</name>
<email>m.belouarga@technologyandstrategy.com</email>
</author>
<published>2024-02-06T19:04:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e3f2493d61166b44e85ce5b8bdd15813f0c28883'/>
<id>urn:sha1:e3f2493d61166b44e85ce5b8bdd15813f0c28883</id>
<content type='text'>
The actual driver does not work when there is no linked PHY. These
changes add support for fixed-link feature in the device tree.

Signed-off-by: BELOUARGA Mohamed &lt;m.belouarga@technologyandstrategy.com&gt;
</content>
</entry>
<entry>
<title>net: macb: Remove non-DM_ETH code</title>
<updated>2022-12-07T21:04:17Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2022-11-27T15:25:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=047a086fa3a4670f189eb80888f566d304a4e088'/>
<id>urn:sha1:047a086fa3a4670f189eb80888f566d304a4e088</id>
<content type='text'>
As DM_ETH is required for all network drivers, it's now safe to
remove the non-DM_ETH support code.

Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>net: macb: Fix race caused by flushing unwanted descriptors</title>
<updated>2022-11-28T18:06:40Z</updated>
<author>
<name>Yaron Micher</name>
<email>yaronm@hailo.ai</email>
</author>
<published>2022-11-10T17:31:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d1559435d7f03517c7306e1c43e2ef497479f34b'/>
<id>urn:sha1:d1559435d7f03517c7306e1c43e2ef497479f34b</id>
<content type='text'>
The rx descriptor list is in cached memory, and there may be multiple
descriptors per cache-line. After reclaim_rx_buffers marks a descriptor
as unused it does a cache flush, which causes the entire cache-line to
be written to memory, which may override other descriptors in the same
cache-line that the controller may have written to.

The fix skips freeing descriptors that are not the last in a cache-line,
and if the freed descriptor is the last one in a cache-line, it marks
all the descriptors in the cache-line as unused.
This is similarly to what is done in drivers/net/fec_mxc.c

In my case this bug caused tftpboot to fail some times when other
packets are sent to u-boot in addition to the ongoing tftp (e.g. ping).
The driver would stop receiving new packets because it is waiting
on a descriptor that is marked unused, when in reality the descriptor
contains a new unprocessed packet but while freeing the previous buffer
descriptor &amp; flushing the cache, the driver accidentally marked the
descriptor as unused.

Signed-off-by: Yaron Micher &lt;yaronm@hailo.ai&gt;
</content>
</entry>
</feed>
