[PATCH net-next v2] net: ethernet: ti: davinci_mdio: Update K3 SoCs list for errata i2329

From: Ravi Gunasekaran
Date: Fri Oct 20 2023 - 07:18:11 EST


The errata i2329 affects certain K3 SoC versions. The k3-socinfo.c
driver generates the revision string for different variants of the
same SoC in an incremental fashion. This is not true for all SoCs.
An example case being J721E, for which the actual silicon revision
names are 1.0, 1.1 for its variants, while the k3-socinfo.c driver
interprets these variants as revisions 1.0, 2.0 respectively,
which is incorrect.

While the work to fixup the silicon revision string is posted
to the soc tree, this patch serves as a fail-safe step by maintaining
a list of correct and incorrect revision strings, so that the fixup
work does not break the errata workaround for such corrected SoCs.

The silicon revisions affected by the errata i2329 can be found under
the MDIO module in the "Advisories by Modules" section of each
SoC errata document listed below

AM62x: https://www.ti.com/lit/er/sprz487c/sprz487c.pdf
AM64X: https://www.ti.com/lit/er/sprz457g/sprz457g.pdf
AM65X: https://www.ti.com/lit/er/sprz452i/sprz452i.pdf
J7200: https://www.ti.com/lit/er/sprz491d/sprz491d.pdf
J721E: https://www.ti.com/lit/er/sprz455d/sprz455d.pdf
J721S2: https://www.ti.com/lit/er/sprz530b/sprz530b.pdf

Signed-off-by: Ravi Gunasekaran <r-gunasekaran@xxxxxx>
---

Changes since v1:
* For J721E, retained the incorrect SR ID and added the correct one
* Add AM65x SR2.1 to the workaround list

v1: https://lore.kernel.org/all/20231018140009.1725-1-r-gunasekaran@xxxxxx/

drivers/net/ethernet/ti/davinci_mdio.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/ti/davinci_mdio.c b/drivers/net/ethernet/ti/davinci_mdio.c
index 628c87dc1d28..25aaef502edc 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -516,9 +516,11 @@ static const struct soc_device_attribute k3_mdio_socinfo[] = {
{ .family = "AM64X", .revision = "SR2.0", .data = &am65_mdio_soc_data },
{ .family = "AM65X", .revision = "SR1.0", .data = &am65_mdio_soc_data },
{ .family = "AM65X", .revision = "SR2.0", .data = &am65_mdio_soc_data },
+ { .family = "AM65X", .revision = "SR2.1", .data = &am65_mdio_soc_data },
{ .family = "J7200", .revision = "SR1.0", .data = &am65_mdio_soc_data },
{ .family = "J7200", .revision = "SR2.0", .data = &am65_mdio_soc_data },
{ .family = "J721E", .revision = "SR1.0", .data = &am65_mdio_soc_data },
+ { .family = "J721E", .revision = "SR1.1", .data = &am65_mdio_soc_data },
{ .family = "J721E", .revision = "SR2.0", .data = &am65_mdio_soc_data },
{ .family = "J721S2", .revision = "SR1.0", .data = &am65_mdio_soc_data},
{ /* sentinel */ },

base-commit: 2030579113a1b1b5bfd7ff24c0852847836d8fd1
--
2.17.1