summaryrefslogtreecommitdiff
path: root/arch/arm/mach-versal-net/include/mach/hardware.h
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@amd.com>2022-09-19 14:21:02 +0200
committerMichal Simek <michal.simek@amd.com>2022-09-26 14:23:29 +0200
commitf6aebdf676ed003391d158edde4ec74b41a83cb8 (patch)
treec86aa523435be5dde6ff50a0777549f0f81e954d /arch/arm/mach-versal-net/include/mach/hardware.h
parent2b1db7b18c97432d496f586311511ae230bed0d2 (diff)
arm64: versal-net: Add support for Versal NET platform
Versal NET platform is based on Versal chip which is reusing a lot of IPs. For more information about new IPs please take a look at DT which describe currently supported devices. The patch is adding architecture and board support with soc detection algorithm. Generic setting should be very similar to Versal but it will likely diverge in longer run. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/320206853dc370ce290a4e7b6d0bb26b05206021.1663589964.git.michal.simek@amd.com
Diffstat (limited to 'arch/arm/mach-versal-net/include/mach/hardware.h')
-rw-r--r--arch/arm/mach-versal-net/include/mach/hardware.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-versal-net/include/mach/hardware.h b/arch/arm/mach-versal-net/include/mach/hardware.h
new file mode 100644
index 00000000000..2eb54984982
--- /dev/null
+++ b/arch/arm/mach-versal-net/include/mach/hardware.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2016 - 2022, Xilinx, Inc.
+ * Copyright (C) 2022, Advanced Micro Devices, Inc.
+ */
+
+#ifndef __ASSEMBLY__
+#include <linux/bitops.h>
+#endif
+
+#define PMC_TAP 0xF11A0000
+
+#define PMC_TAP_IDCODE (PMC_TAP + 0)
+#define PMC_TAP_VERSION (PMC_TAP + 0x4)
+# define PMC_VERSION_MASK GENMASK(7, 0)
+# define PS_VERSION_MASK GENMASK(15, 8)
+# define RTL_VERSION_MASK GENMASK(23, 16)
+# define PLATFORM_MASK GENMASK(27, 24)
+# define PLATFORM_VERSION_MASK GENMASK(31, 28)
+#define PMC_TAP_USERCODE (PMC_TAP + 0x8)
+
+enum versal_net_platform {
+ VERSAL_NET_SILICON = 0,
+ VERSAL_NET_SPP = 1,
+ VERSAL_NET_EMU = 2,
+ VERSAL_NET_QEMU = 3,
+};