Hardware Libraries  20.1
Stratix 10 SoC Hardware Manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
alt_doorbell_in.h
1 /***********************************************************************************
2 * *
3 * Copyright 2013-2015 Altera Corporation. All Rights Reserved. *
4 * *
5 * Redistribution and use in source and binary forms, with or without *
6 * modification, are permitted provided that the following conditions are met: *
7 * *
8 * 1. Redistributions of source code must retain the above copyright notice, *
9 * this list of conditions and the following disclaimer. *
10 * *
11 * 2. Redistributions in binary form must reproduce the above copyright notice, *
12 * this list of conditions and the following disclaimer in the documentation *
13 * and/or other materials provided with the distribution. *
14 * *
15 * 3. Neither the name of the copyright holder nor the names of its contributors *
16 * may be used to endorse or promote products derived from this software without *
17 * specific prior written permission. *
18 * *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" *
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE *
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE *
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE *
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF *
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN *
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE *
29 * POSSIBILITY OF SUCH DAMAGE. *
30 * *
31 ***********************************************************************************/
32 
33 /* Altera - ALT_DOORBELL_IN */
34 
35 #ifndef __ALT_SOCAL_DOORBELL_IN_H__
36 #define __ALT_SOCAL_DOORBELL_IN_H__
37 
38 #ifndef __ASSEMBLY__
39 #ifdef __cplusplus
40 #include <cstdint>
41 extern "C"
42 {
43 #else /* __cplusplus */
44 #include <stdint.h>
45 #endif /* __cplusplus */
46 #endif /* __ASSEMBLY__ */
47 
48 /*
49  * Component : DOORBELL_IN
50  * Door Bell registers to allow RW by both SDM and external masters
51  *
52  */
53 /*
54  * Register : reg - em2sdm
55  *
56  * External master to SDM doorbell register
57  *
58  * Register Layout
59  *
60  * Bits | Access | Reset | Description
61  * :-------|:-------|:------|:--------------------------------
62  * [0] | RW | 0x0 | ALT_DOORBELL_IN_EM2SDM_DOORBELL
63  * [31:1] | ??? | 0x0 | *UNDEFINED*
64  *
65  */
66 /*
67  * Field : doorbell
68  *
69  * external master to sdm door bell register.
70  *
71  * Field Access Macros:
72  *
73  */
74 /* The Least Significant Bit (LSB) position of the ALT_DOORBELL_IN_EM2SDM_DOORBELL register field. */
75 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_LSB 0
76 /* The Most Significant Bit (MSB) position of the ALT_DOORBELL_IN_EM2SDM_DOORBELL register field. */
77 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_MSB 0
78 /* The width in bits of the ALT_DOORBELL_IN_EM2SDM_DOORBELL register field. */
79 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_WIDTH 1
80 /* The mask used to set the ALT_DOORBELL_IN_EM2SDM_DOORBELL register field value. */
81 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_SET_MSK 0x00000001
82 /* The mask used to clear the ALT_DOORBELL_IN_EM2SDM_DOORBELL register field value. */
83 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_CLR_MSK 0xfffffffe
84 /* The reset value of the ALT_DOORBELL_IN_EM2SDM_DOORBELL register field. */
85 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_RESET 0x0
86 /* Extracts the ALT_DOORBELL_IN_EM2SDM_DOORBELL field value from a register. */
87 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_GET(value) (((value) & 0x00000001) >> 0)
88 /* Produces a ALT_DOORBELL_IN_EM2SDM_DOORBELL register field value suitable for setting the register. */
89 #define ALT_DOORBELL_IN_EM2SDM_DOORBELL_SET(value) (((value) << 0) & 0x00000001)
90 
91 #ifndef __ASSEMBLY__
92 /*
93  * WARNING: The C register and register group struct declarations are provided for
94  * convenience and illustrative purposes. They should, however, be used with
95  * caution as the C language standard provides no guarantees about the alignment or
96  * atomicity of device memory accesses. The recommended practice for coding device
97  * drivers is to use the SoCAL access macros in conjunction with alt_read_word()
98  * and alt_write_word() functions for 32 bit registers and alt_read_dword() and
99  * alt_write_dword() functions for 64 bit registers.
100  *
101  * The struct declaration for register ALT_DOORBELL_IN_EM2SDM.
102  */
103 struct ALT_DOORBELL_IN_EM2SDM_s
104 {
105  volatile uint32_t doorbell : 1; /* ALT_DOORBELL_IN_EM2SDM_DOORBELL */
106  uint32_t : 31; /* *UNDEFINED* */
107 };
108 
109 /* The typedef declaration for register ALT_DOORBELL_IN_EM2SDM. */
110 typedef struct ALT_DOORBELL_IN_EM2SDM_s ALT_DOORBELL_IN_EM2SDM_t;
111 #endif /* __ASSEMBLY__ */
112 
113 /* The reset value of the ALT_DOORBELL_IN_EM2SDM register. */
114 #define ALT_DOORBELL_IN_EM2SDM_RESET 0x00000000
115 /* The byte offset of the ALT_DOORBELL_IN_EM2SDM register from the beginning of the component. */
116 #define ALT_DOORBELL_IN_EM2SDM_OFST 0x0
117 
118 #ifndef __ASSEMBLY__
119 /*
120  * WARNING: The C register and register group struct declarations are provided for
121  * convenience and illustrative purposes. They should, however, be used with
122  * caution as the C language standard provides no guarantees about the alignment or
123  * atomicity of device memory accesses. The recommended practice for coding device
124  * drivers is to use the SoCAL access macros in conjunction with alt_read_word()
125  * and alt_write_word() functions for 32 bit registers and alt_read_dword() and
126  * alt_write_dword() functions for 64 bit registers.
127  *
128  * The struct declaration for register group ALT_DOORBELL_IN.
129  */
130 struct ALT_DOORBELL_IN_s
131 {
132  volatile ALT_DOORBELL_IN_EM2SDM_t em2sdm; /* ALT_DOORBELL_IN_EM2SDM */
133  volatile uint32_t _pad_0x4_0xc[2]; /* *UNDEFINED* */
134 };
135 
136 /* The typedef declaration for register group ALT_DOORBELL_IN. */
137 typedef struct ALT_DOORBELL_IN_s ALT_DOORBELL_IN_t;
138 /* The struct declaration for the raw register contents of register group ALT_DOORBELL_IN. */
139 struct ALT_DOORBELL_IN_raw_s
140 {
141  volatile uint32_t em2sdm; /* ALT_DOORBELL_IN_EM2SDM */
142  volatile uint32_t _pad_0x4_0xc[2]; /* *UNDEFINED* */
143 };
144 
145 /* The typedef declaration for the raw register contents of register group ALT_DOORBELL_IN. */
146 typedef struct ALT_DOORBELL_IN_raw_s ALT_DOORBELL_IN_raw_t;
147 #endif /* __ASSEMBLY__ */
148 
149 
150 #ifdef __cplusplus
151 }
152 #endif /* __cplusplus */
153 #endif /* __ALT_SOCAL_DOORBELL_IN_H__ */
154