Choco OS  V.0.16.9.0
Join to the chocolate world
oc_ba.h
Go to the documentation of this file.
1 
41 #ifndef SYSTEM_PORTABLE_INC_OC_BA_H_
42 #define SYSTEM_PORTABLE_INC_OC_BA_H_
43 
44 #include <oc_1word.h>
45 #include <oc_ba_defs.h>
46 #include <oc_rmaps.h>
47 
53 #define _________________________________________MACROS_SECTION_____________________________________________________________________________
54 
57 //==========================================================================================================================================
66 //==========================================================================================================================================
67 #define oC_BaseAddress_(BASE_NAME) oC_1WORD_FROM_2(oC_BaseAddress_ , BASE_NAME)
68 //==========================================================================================================================================
79 //==========================================================================================================================================
80 #define oC_PowerBaseAddress_(BASE_NAME) oC_1WORD_FROM_2(oC_PowerBaseAddress_ , BASE_NAME)
81 //==========================================================================================================================================
92 //==========================================================================================================================================
93 #define oC_PowerOffset_(BASE_NAME) oC_1WORD_FROM_2(oC_PowerOffset_ , BASE_NAME)
94 //==========================================================================================================================================
106 //==========================================================================================================================================
107 #define oC_PowerBit_(BASE_NAME) oC_1WORD_FROM_2(oC_PowerBit_ , BASE_NAME)
108 //==========================================================================================================================================
115 //==========================================================================================================================================
116 #define oC_BaseAddressMask ( ( 1 << (oC_BASE_ADDRESS_WIDTH) ) - 1 )
117 
118 //==========================================================================================================================================
123 //==========================================================================================================================================
124 #define oC_PowerBit_Exist(PowerBit) ((PowerBit) < 0xFF)
125 //==========================================================================================================================================
130 //==========================================================================================================================================
131 #define oC_PowerBaseAddress_Exist(Base) (((oC_BaseAddress_t)(Base)) != oC_BaseAddress_(None))
132 //==========================================================================================================================================
137 //==========================================================================================================================================
138 #define oC_PowerOffset_Exist(Offset) (((oC_RegisterOffset_t)(Offset)) != oC_RegisterOffset_(None))
139 
140 //==========================================================================================================================================
145 //==========================================================================================================================================
146 #define oC_PowerBit_ExistFor(BASE_NAME) (oC_PowerBit_(BASE_NAME) != 0xFF)
147 //==========================================================================================================================================
152 //==========================================================================================================================================
153 #define oC_PowerBaseAddress_ExistFor(BASE_NAME) (oC_PowerBaseAddress_(BASE_NAME) != oC_BaseAddress_(None))
154 //==========================================================================================================================================
159 //==========================================================================================================================================
160 #define oC_PowerOffset_ExistFor(BASE_NAME) (oC_PowerOffset_(BASE_NAME) != oC_RegisterOffset_(None))
161 
162 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________
163 
170 #define _________________________________________TYPES_SECTION______________________________________________________________________________
171 
174 //==========================================================================================================================================
184 //==========================================================================================================================================
185 typedef enum
186 {
189 #define MAKE_BASE_ADDRESS(BASE_NAME,BASE_ADDRESS,POWER_BASE_NAME,POWER_OFFSET_NAME,POWER_BIT_INDEX, ...) oC_BaseAddress_(BASE_NAME) = BASE_ADDRESS ,
190  oC_MACHINE_BA_LIST(MAKE_BASE_ADDRESS)
191 #undef MAKE_BASE_ADDRESS
193 
194 //==========================================================================================================================================
202 //==========================================================================================================================================
203 typedef enum
204 {
205 #define MAKE_BASE_ADDRESS(BASE_NAME,BASE_ADDRESS,POWER_BASE_NAME,POWER_OFFSET_NAME,POWER_BIT_INDEX, ...) oC_PowerBaseAddress_(BASE_NAME) = oC_BaseAddress_(POWER_BASE_NAME) ,
206  oC_MACHINE_BA_LIST(MAKE_BASE_ADDRESS)
207 #undef MAKE_BASE_ADDRESS
209 
210 //==========================================================================================================================================
218 //==========================================================================================================================================
219 typedef enum
220 {
221 #define MAKE_BASE_ADDRESS(BASE_NAME,BASE_ADDRESS,POWER_BASE_NAME,POWER_OFFSET_NAME,POWER_BIT_INDEX, ...) oC_PowerOffset_(BASE_NAME) = oC_RegisterOffset_(POWER_OFFSET_NAME) ,
222  oC_MACHINE_BA_LIST(MAKE_BASE_ADDRESS)
223 #undef MAKE_BASE_ADDRESS
225 
226 //==========================================================================================================================================
234 //==========================================================================================================================================
235 typedef enum
236 {
237 #define None 0xFF
238 #define MAKE_BASE_ADDRESS(BASE_NAME,BASE_ADDRESS,POWER_BASE_NAME,POWER_OFFSET_NAME,POWER_BIT_INDEX, ...) oC_PowerBit_(BASE_NAME) = POWER_BIT_INDEX ,
239  oC_MACHINE_BA_LIST(MAKE_BASE_ADDRESS)
240 #undef MAKE_BASE_ADDRESS
241 #undef None
242 } oC_PowerBit_t;
243 
244 #undef _________________________________________TYPES_SECTION______________________________________________________________________________
245 
247 #endif /* SYSTEM_PORTABLE_INC_OC_BA_H_ */
Contains macros for creating one word from more words in macros.
Value for marking system base addresses.
Definition: oc_ba.h:188
oC_PowerBit_t
stores number of bit in the Power Register
Definition: oc_ba.h:235
Value for setting when none of base address was set.
Definition: oc_ba.h:187
oC_PowerOffset_t
stores offset of the Power Register
Definition: oc_ba.h:219
The file with interface for register maps module.
oC_PowerBaseAddress_t
stores base address of the Power Register
Definition: oc_ba.h:203
oC_BaseAddress_t
type for storing base address
Definition: oc_ba.h:185