Thread (16 messages) 16 messages, 3 authors, 2025-06-11

Re: [RFC PATCH net-next v2 01/10] net: dsa: b53: add support for FDB operations on 5325/5365

From: Florian Fainelli <florian.fainelli@broadcom.com>
Date: 2025-06-03 22:10:07
Also in: lkml

On 6/3/25 13:48, Álvaro Fernández Rojas wrote:
From: Florian Fainelli <f.fainelli@gmail.com>

BCM5325 and BCM5365 are part of a much older generation of switches which,
due to their limited number of ports and VLAN entries (up to 256) allowed
a single 64-bit register to hold a full ARL entry.
This requires a little bit of massaging when reading, writing and
converting ARL entries in both directions.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <redacted>
---
[snip]
quoted hunk ↗ jump to hunk
  static int b53_arl_op(struct b53_device *dev, int op, int port,
  		      const unsigned char *addr, u16 vid, bool is_valid)
  {
@@ -1795,14 +1834,18 @@ static int b53_arl_op(struct b53_device *dev, int op, int port,
  
  	/* Perform a read for the given MAC and VID */
  	b53_write48(dev, B53_ARLIO_PAGE, B53_MAC_ADDR_IDX, mac);
-	b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
+	if (!is5325(dev))
+		b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
I used the 5325M-DS113-RDS datasheet for this code initially but the 
5325E-DS14-R datasheet shows that this register is defined. It's not 
clear to me how to differentiate the two kinds of switches. The 5325M 
would report itself as:

0x00406330

in the integrated PHY PHYSID1/2 registers, whereas a 5325E would report 
itself as 0x0143bc30. Maybe we can use that to key off the very first 
generation 5325 switches?
-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help