[PATCH v2 0/5] dd ethernet support for RPi5

Stanimir Varbanov posted 5 patches 5 months, 2 weeks ago
.../devicetree/bindings/net/cdns,macb.yaml     |  1 +
.../boot/dts/broadcom/bcm2712-rpi-5-b.dts      | 18 ++++++++++++++++++
arch/arm64/boot/dts/broadcom/rp1-common.dtsi   | 16 ++++++++++++++++
drivers/net/ethernet/cadence/macb_main.c       | 18 +++++++++++++++++-
4 files changed, 52 insertions(+), 1 deletion(-)
[PATCH v2 0/5] dd ethernet support for RPi5
Posted by Stanimir Varbanov 5 months, 2 weeks ago
Hello,

Changes in v2:
 - In 1/5 updates according to review comments (Nicolas)
 - In 1/5 added Fixes tag (Nicolas)
 - Added Reviewed-by and Acked-by tags.

v1 can found at [1].

Comments are welcome!

regards,
~Stan

[1] www.spinics.net/lists/netdev/msg1115266.html

Dave Stevenson (2):
  dt-bindings: net: cdns,macb: Add compatible for Raspberry Pi RP1
  net: cadence: macb: Add support for Raspberry Pi RP1 ethernet
    controller

Stanimir Varbanov (3):
  net: cadence: macb: Set upper 32bits of DMA ring buffer
  arm64: dts: rp1: Add ethernet DT node
  arm64: dts: broadcom: Enable RP1 ethernet for Raspberry Pi 5

 .../devicetree/bindings/net/cdns,macb.yaml     |  1 +
 .../boot/dts/broadcom/bcm2712-rpi-5-b.dts      | 18 ++++++++++++++++++
 arch/arm64/boot/dts/broadcom/rp1-common.dtsi   | 16 ++++++++++++++++
 drivers/net/ethernet/cadence/macb_main.c       | 18 +++++++++++++++++-
 4 files changed, 52 insertions(+), 1 deletion(-)

-- 
2.47.0
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Florian Fainelli 5 months ago
On 8/22/25 02:34, Stanimir Varbanov wrote:
> Hello,
> 
> Changes in v2:
>   - In 1/5 updates according to review comments (Nicolas)
>   - In 1/5 added Fixes tag (Nicolas)
>   - Added Reviewed-by and Acked-by tags.
> 
> v1 can found at [1].
> 
> Comments are welcome!

netdev maintainers, I took patches 4 and 5 through the Broadcom ARM SoC 
tree, please take patches 1 through 3 inclusive, or let me know if I 
should take patch 2 as well.

Thanks!

-- 
Florian
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Jakub Kicinski 5 months ago
On Thu, 4 Sep 2025 14:07:36 -0700 Florian Fainelli wrote:
> On 8/22/25 02:34, Stanimir Varbanov wrote:
> > Hello,
> > 
> > Changes in v2:
> >   - In 1/5 updates according to review comments (Nicolas)
> >   - In 1/5 added Fixes tag (Nicolas)
> >   - Added Reviewed-by and Acked-by tags.
> > 
> > v1 can found at [1].
> > 
> > Comments are welcome!  
> 
> netdev maintainers, I took patches 4 and 5 through the Broadcom ARM SoC 
> tree, please take patches 1 through 3 inclusive, or let me know if I 
> should take patch 2 as well.

Thanks for the heads up! Let me take patch 3 right now.
I'm a bit unclear on where we landed with the parallel efforts to add
the >32b address support :(
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Jakub Kicinski 5 months ago
On Thu, 4 Sep 2025 18:47:57 -0700 Jakub Kicinski wrote:
> > netdev maintainers, I took patches 4 and 5 through the Broadcom ARM SoC 
> > tree, please take patches 1 through 3 inclusive, or let me know if I 
> > should take patch 2 as well.  
> 
> Thanks for the heads up! Let me take patch 3 right now.

s/patch 3/patch 2/

> I'm a bit unclear on where we landed with the parallel efforts to add
> the >32b address support :(
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Stanimir Varbanov 5 months ago
Hi Jacub,

On 9/5/25 4:49 AM, Jakub Kicinski wrote:
> On Thu, 4 Sep 2025 18:47:57 -0700 Jakub Kicinski wrote:
>>> netdev maintainers, I took patches 4 and 5 through the Broadcom ARM SoC 
>>> tree, please take patches 1 through 3 inclusive, or let me know if I 
>>> should take patch 2 as well.  
>>
>> Thanks for the heads up! Let me take patch 3 right now.
> 
> s/patch 3/patch 2/
> 
>> I'm a bit unclear on where we landed with the parallel efforts to add
>> the >32b address support :(
> 

If you talk about 1/5 from this series, you can ignore it for now. I'll
monitor the fixes series from Théo Lebrun and will resend it if needed.

regards,
~Stan
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Laurent Pinchart 3 months, 1 week ago
Hi Stan,

On Fri, Aug 22, 2025 at 12:34:35PM +0300, Stanimir Varbanov wrote:
> Hello,
> 
> Changes in v2:
>  - In 1/5 updates according to review comments (Nicolas)
>  - In 1/5 added Fixes tag (Nicolas)
>  - Added Reviewed-by and Acked-by tags.
> 
> v1 can found at [1].
> 
> Comments are welcome!

I'm very happy to see support for Raspberry Pi 5 progressing fast
upstream.

I've tested the latest mainline kernel (v6.18-rc3) that includes this
series (except for 1/5 that is replaced by
https://lore.kernel.org/all/20250820-macb-fixes-v4-0-23c399429164@bootlin.com/
as far as I understand). The ethernet controller is successfully
detected, and so is the PHY. Link status seems to work fine too, but
data doesn't seem to go through when the kernel tries to get a DHCP
address (for NFS root). Here's the end of the kernel log (with the
messages related to the USB controller stripped out):

[    0.896779] rp1_pci 0002:01:00.0: assign IRQ: got 27
[    0.896809] rp1_pci 0002:01:00.0: enabling device (0000 -> 0002)
[    0.896840] rp1_pci 0002:01:00.0: enabling bus mastering
[    0.931874] macb 1f00100000.ethernet: invalid hw address, using random
[    0.944448] macb 1f00100000.ethernet eth0: Cadence GEM rev 0x00070109 at 0x1f00100000 irq 95 (da:2e:6d:9d:52:a4)
[    0.989067] macb 1f00100000.ethernet eth0: PHY [1f00100000.ethernet-ffffffff:01] driver [Broadcom BCM54210E] (irq=POLL)
[    0.989272] macb 1f00100000.ethernet eth0: configuring for phy/rgmii-id link mode
[    0.991271] macb 1f00100000.ethernet: gem-ptp-timer ptp clock registered.
[    4.039490] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
[    4.062589] Sending DHCP requests .....
[   40.902771] macb 1f00100000.ethernet eth0: Link is Down
[   43.975334] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx

I've tried porting patches to drivers/net/phy/broadcom.c from the
Raspberry Pi kernel to specifically support the BCM54213PE PHY (which is
otherwise identified as a BCM54210E), but they didn't seem to help.

What's the status of ethernet support on the Pi 5, is it supposed to
work upstream, or are there pieces still missing ?

> [1] www.spinics.net/lists/netdev/msg1115266.html
> 
> Dave Stevenson (2):
>   dt-bindings: net: cdns,macb: Add compatible for Raspberry Pi RP1
>   net: cadence: macb: Add support for Raspberry Pi RP1 ethernet
>     controller
> 
> Stanimir Varbanov (3):
>   net: cadence: macb: Set upper 32bits of DMA ring buffer
>   arm64: dts: rp1: Add ethernet DT node
>   arm64: dts: broadcom: Enable RP1 ethernet for Raspberry Pi 5
> 
>  .../devicetree/bindings/net/cdns,macb.yaml     |  1 +
>  .../boot/dts/broadcom/bcm2712-rpi-5-b.dts      | 18 ++++++++++++++++++
>  arch/arm64/boot/dts/broadcom/rp1-common.dtsi   | 16 ++++++++++++++++
>  drivers/net/ethernet/cadence/macb_main.c       | 18 +++++++++++++++++-
>  4 files changed, 52 insertions(+), 1 deletion(-)

-- 
Regards,

Laurent Pinchart
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Stanimir Varbanov 3 months, 1 week ago
Hi Laurent,

On 10/31/25 1:45 PM, Laurent Pinchart wrote:
> Hi Stan,
> 
> On Fri, Aug 22, 2025 at 12:34:35PM +0300, Stanimir Varbanov wrote:
>> Hello,
>>
>> Changes in v2:
>>  - In 1/5 updates according to review comments (Nicolas)
>>  - In 1/5 added Fixes tag (Nicolas)
>>  - Added Reviewed-by and Acked-by tags.
>>
>> v1 can found at [1].
>>
>> Comments are welcome!
> 
> I'm very happy to see support for Raspberry Pi 5 progressing fast
> upstream.
> 
> I've tested the latest mainline kernel (v6.18-rc3) that includes this
> series (except for 1/5 that is replaced by
> https://lore.kernel.org/all/20250820-macb-fixes-v4-0-23c399429164@bootlin.com/
> as far as I understand). The ethernet controller is successfully
> detected, and so is the PHY. Link status seems to work fine too, but
> data doesn't seem to go through when the kernel tries to get a DHCP
> address (for NFS root). Here's the end of the kernel log (with the
> messages related to the USB controller stripped out):
> 
> [    0.896779] rp1_pci 0002:01:00.0: assign IRQ: got 27
> [    0.896809] rp1_pci 0002:01:00.0: enabling device (0000 -> 0002)
> [    0.896840] rp1_pci 0002:01:00.0: enabling bus mastering
> [    0.931874] macb 1f00100000.ethernet: invalid hw address, using random
> [    0.944448] macb 1f00100000.ethernet eth0: Cadence GEM rev 0x00070109 at 0x1f00100000 irq 95 (da:2e:6d:9d:52:a4)
> [    0.989067] macb 1f00100000.ethernet eth0: PHY [1f00100000.ethernet-ffffffff:01] driver [Broadcom BCM54210E] (irq=POLL)
> [    0.989272] macb 1f00100000.ethernet eth0: configuring for phy/rgmii-id link mode
> [    0.991271] macb 1f00100000.ethernet: gem-ptp-timer ptp clock registered.
> [    4.039490] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
> [    4.062589] Sending DHCP requests .....
> [   40.902771] macb 1f00100000.ethernet eth0: Link is Down
> [   43.975334] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
> 
> I've tried porting patches to drivers/net/phy/broadcom.c from the
> Raspberry Pi kernel to specifically support the BCM54213PE PHY (which is
> otherwise identified as a BCM54210E), but they didn't seem to help.
> 
> What's the status of ethernet support on the Pi 5, is it supposed to
> work upstream, or are there pieces still missing ?
> 

We have this [1] patch queued up, could you give it a try please.

[1] https://www.spinics.net/lists/kernel/msg5889475.html
Re: [PATCH v2 0/5] dd ethernet support for RPi5
Posted by Laurent Pinchart 3 months, 1 week ago
On Fri, Oct 31, 2025 at 05:35:32PM +0200, Stanimir Varbanov wrote:
> On 10/31/25 1:45 PM, Laurent Pinchart wrote:
> > On Fri, Aug 22, 2025 at 12:34:35PM +0300, Stanimir Varbanov wrote:
> >> Hello,
> >>
> >> Changes in v2:
> >>  - In 1/5 updates according to review comments (Nicolas)
> >>  - In 1/5 added Fixes tag (Nicolas)
> >>  - Added Reviewed-by and Acked-by tags.
> >>
> >> v1 can found at [1].
> >>
> >> Comments are welcome!
> > 
> > I'm very happy to see support for Raspberry Pi 5 progressing fast
> > upstream.
> > 
> > I've tested the latest mainline kernel (v6.18-rc3) that includes this
> > series (except for 1/5 that is replaced by
> > https://lore.kernel.org/all/20250820-macb-fixes-v4-0-23c399429164@bootlin.com/
> > as far as I understand). The ethernet controller is successfully
> > detected, and so is the PHY. Link status seems to work fine too, but
> > data doesn't seem to go through when the kernel tries to get a DHCP
> > address (for NFS root). Here's the end of the kernel log (with the
> > messages related to the USB controller stripped out):
> > 
> > [    0.896779] rp1_pci 0002:01:00.0: assign IRQ: got 27
> > [    0.896809] rp1_pci 0002:01:00.0: enabling device (0000 -> 0002)
> > [    0.896840] rp1_pci 0002:01:00.0: enabling bus mastering
> > [    0.931874] macb 1f00100000.ethernet: invalid hw address, using random
> > [    0.944448] macb 1f00100000.ethernet eth0: Cadence GEM rev 0x00070109 at 0x1f00100000 irq 95 (da:2e:6d:9d:52:a4)
> > [    0.989067] macb 1f00100000.ethernet eth0: PHY [1f00100000.ethernet-ffffffff:01] driver [Broadcom BCM54210E] (irq=POLL)
> > [    0.989272] macb 1f00100000.ethernet eth0: configuring for phy/rgmii-id link mode
> > [    0.991271] macb 1f00100000.ethernet: gem-ptp-timer ptp clock registered.
> > [    4.039490] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
> > [    4.062589] Sending DHCP requests .....
> > [   40.902771] macb 1f00100000.ethernet eth0: Link is Down
> > [   43.975334] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
> > 
> > I've tried porting patches to drivers/net/phy/broadcom.c from the
> > Raspberry Pi kernel to specifically support the BCM54213PE PHY (which is
> > otherwise identified as a BCM54210E), but they didn't seem to help.
> > 
> > What's the status of ethernet support on the Pi 5, is it supposed to
> > work upstream, or are there pieces still missing ?
> 
> We have this [1] patch queued up, could you give it a try please.
> 
> [1] https://www.spinics.net/lists/kernel/msg5889475.html

It fixes the issue, thank you ! I've sent a patch to add an ethernet0
alias (https://lore.kernel.org/all/20251102002901.467-1-laurent.pinchart@ideasonboard.com),
with that I get working ethernet with a stable MAC address.

-- 
Regards,

Laurent Pinchart