Commit b131dc93 authored by Daniel Machon's avatar Daniel Machon Committed by Jakub Kicinski
Browse files

net: sparx5: fix wrong chip ids for TSN SKUs



The TSN SKUs in enum spx5_target_chiptype have incorrect IDs:

  SPX5_TARGET_CT_7546TSN    = 0x47546,
  SPX5_TARGET_CT_7549TSN    = 0x47549,
  SPX5_TARGET_CT_7552TSN    = 0x47552,
  SPX5_TARGET_CT_7556TSN    = 0x47556,
  SPX5_TARGET_CT_7558TSN    = 0x47558,

The value read back from the chip is GCB_CHIP_ID_PART_ID, which is a
GENMASK(27, 12) field, i.e. at most 16 bits wide. It can never match
these IDs, so probing a TSN part fails with a "Target not supported"
error.

Fix the enum to use the actual 16-bit part IDs returned by the
hardware: 0x0546, 0x0549, 0x0552, 0x0556 and 0x0558.

Reported-by: default avatarAndrew Lunn <andrew@lunn.ch>
Fixes: 3cfa11ba ("net: sparx5: add the basic sparx5 driver")
Signed-off-by: default avatarDaniel Machon <daniel.machon@microchip.com>
Link: https://patch.msgid.link/20260506-misc-fixes-sparx5-lan969x-v2-3-fb236aa96908@microchip.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent dedf6c90
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -31,11 +31,11 @@ enum spx5_target_chiptype {
	SPX5_TARGET_CT_7552       = 0x7552,  /* SparX-5-128 Enterprise */
	SPX5_TARGET_CT_7556       = 0x7556,  /* SparX-5-160 Enterprise */
	SPX5_TARGET_CT_7558       = 0x7558,  /* SparX-5-200 Enterprise */
	SPX5_TARGET_CT_7546TSN    = 0x47546, /* SparX-5-64i Industrial */
	SPX5_TARGET_CT_7549TSN    = 0x47549, /* SparX-5-90i Industrial */
	SPX5_TARGET_CT_7552TSN    = 0x47552, /* SparX-5-128i Industrial */
	SPX5_TARGET_CT_7556TSN    = 0x47556, /* SparX-5-160i Industrial */
	SPX5_TARGET_CT_7558TSN    = 0x47558, /* SparX-5-200i Industrial */
	SPX5_TARGET_CT_7546TSN    = 0x0546,  /* SparX-5-64i Industrial */
	SPX5_TARGET_CT_7549TSN    = 0x0549,  /* SparX-5-90i Industrial */
	SPX5_TARGET_CT_7552TSN    = 0x0552,  /* SparX-5-128i Industrial */
	SPX5_TARGET_CT_7556TSN    = 0x0556,  /* SparX-5-160i Industrial */
	SPX5_TARGET_CT_7558TSN    = 0x0558,  /* SparX-5-200i Industrial */
	SPX5_TARGET_CT_LAN9694    = 0x9694,  /* lan969x-40 */
	SPX5_TARGET_CT_LAN9691VAO = 0x9691,  /* lan969x-40-VAO */
	SPX5_TARGET_CT_LAN9694TSN = 0x9695,  /* lan969x-40-TSN */