aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAaron Williams <awilliams@marvell.com>2020-12-11 17:05:53 +0100
committerStefan Roese <sr@denx.de>2021-04-28 10:05:11 +0200
commit0ad3593fca6bb2e9dcf8f1b093247197e7c7d79e (patch)
treec55ffdc93df9cf95831e1eb8a990d84b77b98a4b /arch
parent1374315375f40141f51896c10716179acdf4361c (diff)
downloadu-boot-0ad3593fca6bb2e9dcf8f1b093247197e7c7d79e.zip
u-boot-0ad3593fca6bb2e9dcf8f1b093247197e7c7d79e.tar.gz
u-boot-0ad3593fca6bb2e9dcf8f1b093247197e7c7d79e.tar.bz2
mips: octeon: Add cvmx-sriox-defs.h header file
Import cvmx-sriox-defs.h header file from 2013 U-Boot. It will be used by the later added drivers to support PCIe and networking on the MIPS Octeon II / III platforms. Signed-off-by: Aaron Williams <awilliams@marvell.com> Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/mach-octeon/include/mach/cvmx-sriox-defs.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/arch/mips/mach-octeon/include/mach/cvmx-sriox-defs.h b/arch/mips/mach-octeon/include/mach/cvmx-sriox-defs.h
new file mode 100644
index 0000000..ac98860
--- /dev/null
+++ b/arch/mips/mach-octeon/include/mach/cvmx-sriox-defs.h
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2020 Marvell International Ltd.
+ */
+
+#ifndef __CVMX_SRIOX_DEFS_H__
+#define __CVMX_SRIOX_DEFS_H__
+
+#define CVMX_SRIOX_STATUS_REG(offset) (0x00011800C8000100ull + ((offset) & 3) * 0x1000000ull)
+
+/**
+ * cvmx_srio#_status_reg
+ *
+ * The SRIO field displays if the port has been configured for SRIO operation. This register
+ * can be read regardless of whether the SRIO is selected or being reset. Although some other
+ * registers can be accessed while the ACCESS bit is zero (see individual registers for details),
+ * the majority of SRIO registers and all the SRIOMAINT registers can be used only when the
+ * ACCESS bit is asserted.
+ *
+ * This register is reset by the coprocessor-clock reset.
+ */
+union cvmx_sriox_status_reg {
+ u64 u64;
+ struct cvmx_sriox_status_reg_s {
+ u64 reserved_9_63 : 55;
+ u64 host : 1;
+ u64 spd : 4;
+ u64 run_type : 2;
+ u64 access : 1;
+ u64 srio : 1;
+ } s;
+ struct cvmx_sriox_status_reg_cn63xx {
+ u64 reserved_2_63 : 62;
+ u64 access : 1;
+ u64 srio : 1;
+ } cn63xx;
+ struct cvmx_sriox_status_reg_cn63xx cn63xxp1;
+ struct cvmx_sriox_status_reg_cn63xx cn66xx;
+ struct cvmx_sriox_status_reg_s cnf75xx;
+};
+
+typedef union cvmx_sriox_status_reg cvmx_sriox_status_reg_t;
+
+#endif