summaryrefslogtreecommitdiff
path: root/drivers/soc/soc_ti_k3.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/soc/soc_ti_k3.c')
-rw-r--r--drivers/soc/soc_ti_k3.c124
1 files changed, 0 insertions, 124 deletions
diff --git a/drivers/soc/soc_ti_k3.c b/drivers/soc/soc_ti_k3.c
deleted file mode 100644
index ae23ef7475..0000000000
--- a/drivers/soc/soc_ti_k3.c
+++ /dev/null
@@ -1,124 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
- * Dave Gerlach <d-gerlach@ti.com>
- */
-
-#include <common.h>
-#include <dm.h>
-#include <soc.h>
-
-#include <asm/io.h>
-
-#define AM65X 0xbb5a
-#define J721E 0xbb64
-
-#define REV_SR1_0 0
-#define REV_SR2_0 1
-
-#define JTAG_ID_VARIANT_SHIFT 28
-#define JTAG_ID_VARIANT_MASK (0xf << 28)
-#define JTAG_ID_PARTNO_SHIFT 12
-#define JTAG_ID_PARTNO_MASK (0xffff << 12)
-
-struct soc_ti_k3_platdata {
- const char *family;
- const char *revision;
-};
-
-static const char *get_family_string(u32 idreg)
-{
- const char *family;
- u32 soc;
-
- soc = (idreg & JTAG_ID_PARTNO_MASK) >> JTAG_ID_PARTNO_SHIFT;
-
- switch (soc) {
- case AM65X:
- family = "AM65X";
- break;
- case J721E:
- family = "J721E";
- break;
- default:
- family = "Unknown Silicon";
- };
-
- return family;
-}
-
-static const char *get_rev_string(u32 idreg)
-{
- const char *revision;
- u32 rev;
-
- rev = (idreg & JTAG_ID_VARIANT_MASK) >> JTAG_ID_VARIANT_SHIFT;
-
- switch (rev) {
- case REV_SR1_0:
- revision = "1.0";
- break;
- case REV_SR2_0:
- revision = "2.0";
- break;
- default:
- revision = "Unknown Revision";
- };
-
- return revision;
-}
-
-static int soc_ti_k3_get_family(struct udevice *dev, char *buf, int size)
-{
- struct soc_ti_k3_platdata *plat = dev_get_platdata(dev);
-
- snprintf(buf, size, "%s", plat->family);
-
- return 0;
-}
-
-static int soc_ti_k3_get_revision(struct udevice *dev, char *buf, int size)
-{
- struct soc_ti_k3_platdata *plat = dev_get_platdata(dev);
-
- snprintf(buf, size, "SR%s", plat->revision);
-
- return 0;
-}
-
-static const struct soc_ops soc_ti_k3_ops = {
- .get_family = soc_ti_k3_get_family,
- .get_revision = soc_ti_k3_get_revision,
-};
-
-int soc_ti_k3_probe(struct udevice *dev)
-{
- struct soc_ti_k3_platdata *plat = dev_get_platdata(dev);
- u32 idreg;
- void *idreg_addr;
-
- idreg_addr = dev_read_addr_ptr(dev);
- if (!idreg_addr)
- return -EINVAL;
-
- idreg = readl(idreg_addr);
-
- plat->family = get_family_string(idreg);
- plat->revision = get_rev_string(idreg);
-
- return 0;
-}
-
-static const struct udevice_id soc_ti_k3_ids[] = {
- { .compatible = "ti,am654-chipid" },
- { }
-};
-
-U_BOOT_DRIVER(soc_ti_k3) = {
- .name = "soc_ti_k3",
- .id = UCLASS_SOC,
- .ops = &soc_ti_k3_ops,
- .of_match = soc_ti_k3_ids,
- .probe = soc_ti_k3_probe,
- .platdata_auto_alloc_size = sizeof(struct soc_ti_k3_platdata),
-};