diff options
author | Aaron Williams <awilliams@marvell.com> | 2020-12-11 17:05:53 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2021-04-28 10:05:11 +0200 |
commit | 0ad3593fca6bb2e9dcf8f1b093247197e7c7d79e (patch) | |
tree | c55ffdc93df9cf95831e1eb8a990d84b77b98a4b /arch | |
parent | 1374315375f40141f51896c10716179acdf4361c (diff) | |
download | u-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.h | 44 |
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 |