aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2021-12-05 01:00:35 +0200
committerRamon Fried <ramon@neureality.ai>2022-01-15 18:49:13 +0200
commit6372ece6e8cb46105cd12a901197fa7bdf637415 (patch)
treeda0ec9e5b7d79f9ccb8ee0d96a5ba230d7774a8f
parent0fa4448d5191f9397e5acbd6c83073523cc6c4bd (diff)
downloadu-boot-6372ece6e8cb46105cd12a901197fa7bdf637415.zip
u-boot-6372ece6e8cb46105cd12a901197fa7bdf637415.tar.gz
u-boot-6372ece6e8cb46105cd12a901197fa7bdf637415.tar.bz2
net: dsa: sja1105: fix device id detection
The sja1105_check_device_id() function contains logic to work without changing the device tree on reworked boards, one of which I have (the NXP LS1021A-TSN normally has a SJA1105T, but I have a version with a resoldered SJA1105Q which is pin compatible). This logic is taken from the Linux driver. However this logic gets shortcircuited in U-Boot by an earlier check for the exact device ID specified in the device tree. So the reworked board does not probe the SJA1105Q switch. Remove this duplicated logic and let the automatic device ID detection do its job. Fixes: f24b666b2204 ("net: dsa: add driver for NXP SJA1105 L2 switch") Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
-rw-r--r--drivers/net/sja1105.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/net/sja1105.c b/drivers/net/sja1105.c
index 17bab33..4ca8709 100644
--- a/drivers/net/sja1105.c
+++ b/drivers/net/sja1105.c
@@ -3276,12 +3276,6 @@ static int sja1105_check_device_id(struct sja1105_private *priv)
sja1105_packing(packed_buf, &device_id, 31, 0, SJA1105_SIZE_DEVICE_ID,
UNPACK);
- if (device_id != priv->info->device_id) {
- printf("Expected device ID 0x%llx but read 0x%llx\n",
- priv->info->device_id, device_id);
- return -ENODEV;
- }
-
rc = sja1105_xfer_buf(priv, SPI_READ, regs->prod_id, packed_buf,
SJA1105_SIZE_DEVICE_ID);
if (rc < 0)