Prepare v2023.10
[platform/kernel/u-boot.git] / arch / mips / mach-octeon / include / mach / cvmx-rst-defs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2020 Marvell International Ltd.
4  */
5
6 #ifndef __CVMX_RST_DEFS_H__
7 #define __CVMX_RST_DEFS_H__
8
9 #define CVMX_RST_CTLX(offset)       (0x0001180006001640ull + ((offset) & 3) * 8)
10 #define CVMX_RST_SOFT_PRSTX(offset) (0x00011800060016C0ull + ((offset) & 3) * 8)
11
12 /**
13  * cvmx_rst_ctl#
14  */
15 union cvmx_rst_ctlx {
16         u64 u64;
17         struct cvmx_rst_ctlx_s {
18                 u64 reserved_10_63 : 54;
19                 u64 prst_link : 1;
20                 u64 rst_done : 1;
21                 u64 rst_link : 1;
22                 u64 host_mode : 1;
23                 u64 reserved_4_5 : 2;
24                 u64 rst_drv : 1;
25                 u64 rst_rcv : 1;
26                 u64 rst_chip : 1;
27                 u64 rst_val : 1;
28         } s;
29         struct cvmx_rst_ctlx_s cn70xx;
30         struct cvmx_rst_ctlx_s cn70xxp1;
31         struct cvmx_rst_ctlx_s cn73xx;
32         struct cvmx_rst_ctlx_s cn78xx;
33         struct cvmx_rst_ctlx_s cn78xxp1;
34         struct cvmx_rst_ctlx_s cnf75xx;
35 };
36
37 typedef union cvmx_rst_ctlx cvmx_rst_ctlx_t;
38
39 /**
40  * cvmx_rst_soft_prst#
41  */
42 union cvmx_rst_soft_prstx {
43         u64 u64;
44         struct cvmx_rst_soft_prstx_s {
45                 u64 reserved_1_63 : 63;
46                 u64 soft_prst : 1;
47         } s;
48         struct cvmx_rst_soft_prstx_s cn70xx;
49         struct cvmx_rst_soft_prstx_s cn70xxp1;
50         struct cvmx_rst_soft_prstx_s cn73xx;
51         struct cvmx_rst_soft_prstx_s cn78xx;
52         struct cvmx_rst_soft_prstx_s cn78xxp1;
53         struct cvmx_rst_soft_prstx_s cnf75xx;
54 };
55
56 typedef union cvmx_rst_soft_prstx cvmx_rst_soft_prstx_t;
57
58 /**
59  * cvmx_rst_soft_rst
60  */
61 union cvmx_rst_soft_rst {
62         u64 u64;
63         struct cvmx_rst_soft_rst_s {
64                 u64 reserved_1_63 : 63;
65                 u64 soft_rst : 1;
66         } s;
67         struct cvmx_rst_soft_rst_s cn70xx;
68         struct cvmx_rst_soft_rst_s cn70xxp1;
69         struct cvmx_rst_soft_rst_s cn73xx;
70         struct cvmx_rst_soft_rst_s cn78xx;
71         struct cvmx_rst_soft_rst_s cn78xxp1;
72         struct cvmx_rst_soft_rst_s cnf75xx;
73 };
74
75 typedef union cvmx_rst_soft_rst cvmx_rst_soft_rst_t;
76
77 #endif