source: mainline/uspace/drv/platform/amdm37x/prm/global_reg.h@ 901b302

ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 901b302 was 4122410, checked in by Jakub Jermar <jakub@…>, 7 years ago

Improve Doxygen documentaion

This is stil WiP. A number of libraries, drivers and services were
converted to using a more hierarchical and decentralized scheme when it
comes to specifying to which doxygen group they belong.

  • Property mode set to 100644
File size: 14.4 KB
Line 
1/*
2 * Copyright (c) 2012 Jan Vesely
3 * 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
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/** @addtogroup amdm37x
30 * @{
31 */
32/** @file
33 * @brief Clock Control Clock Management IO register structure.
34 */
35#ifndef AMDM37X_PRM_GLOBAL_REG_H
36#define AMDM37X_PRM_GLOBAL_REG_H
37
38#include <ddi.h>
39#include <macros.h>
40
41/* AM/DM37x TRM p.536 and p.615 */
42#define GLOBAL_REG_PRM_BASE_ADDRESS 0x48307200
43#define GLOBAL_REG_PRM_SIZE 65536
44
45/** Global Reg PRM register map
46 */
47typedef struct {
48 PADD32(8);
49 struct {
50 ioport32_t smps_sa;
51#define GLOBAL_REG_PRM_VC_SMPS_SA_SA0_MASK (0x7f << 0)
52#define GLOBAL_REG_PRM_VC_SMPS_SA_SA0_CREATE(x) (((x) & 0x7f) << 0)
53#define GLOBAL_REG_PRM_VC_SMPS_SA_SA0_GET(r) (r & 0x7f)
54#define GLOBAL_REG_PRM_VC_SMPS_SA_SA1_MASK (0x7f << 16)
55#define GLOBAL_REG_PRM_VC_SMPS_SA_SA1_CREATE(x) (((x) & 0x7f) << 16)
56#define GLOBAL_REG_PRM_VC_SMPS_SA_SA1_GET(r) (((r) >> 16 ) & 0x7f)
57
58 ioport32_t smps_vol_ra;
59#define GLOBAL_REG_PRM_VC_SMPS_VOL_RA_VOLRA0_MASK (0xff << 0)
60#define GLOBAL_REG_PRM_VC_SMPS_VOL_RA_VOLRA0_CREATE(x) (((x) & 0xff) << 0)
61#define GLOBAL_REG_PRM_VC_SMPS_VOL_RA_VOLRA0_GET(r) (r & 0xff)
62#define GLOBAL_REG_PRM_VC_SMPS_VOL_RA_VOLRA1_MASK (0xff << 16)
63#define GLOBAL_REG_PRM_VC_SMPS_VOL_RA_VOLRA1_CREATE(x) (((x) & 0xff) << 16)
64#define GLOBAL_REG_PRM_VC_SMPS_VOL_RA_VOLRA1_GET(r) (((r) >> 16 ) & 0xff)
65
66 ioport32_t smps_cmd_ra;
67#define GLOBAL_REG_PRM_VC_SMPS_CMD_RA_CMDRA0_MASK (0xff << 0)
68#define GLOBAL_REG_PRM_VC_SMPS_CMD_RA_CMDRA0_CREATE(x) (((x) & 0xff) << 0)
69#define GLOBAL_REG_PRM_VC_SMPS_CMD_RA_CMDRA0_GET(r) (r & 0xff)
70#define GLOBAL_REG_PRM_VC_SMPS_CMD_RA_CMDRA1_MASK (0xff << 16)
71#define GLOBAL_REG_PRM_VC_SMPS_CMD_RA_CMDRA1_CREATE(x) (((x) & 0xff) << 16)
72#define GLOBAL_REG_PRM_VC_SMPS_CMD_RA_CMDRA1_GET(r) (((r) >> 16 ) & 0xff)
73
74 ioport32_t cmd_val_0;
75#define GLOBAL_REG_PRM_VC_CMD_VAL_0_ON_MASK (0xff << 24)
76#define GLOBAL_REG_PRM_VC_CMD_VAL_0_ON_CREATE(x) (((x) & 0xff) << 24)
77#define GLOBAL_REG_PRM_VC_CMD_VAL_0_ON_GET(r) (((x) >> 24) & 0xff)
78#define GLOBAL_REG_PRM_VC_CMD_VAL_0_ONLP_MASK (0xff << 24)
79#define GLOBAL_REG_PRM_VC_CMD_VAL_0_ONLP_CREATE(x) (((x) & 0xff) << 24)
80#define GLOBAL_REG_PRM_VC_CMD_VAL_0_ONLP_GET(r) (((x) >> 24) & 0xff)
81#define GLOBAL_REG_PRM_VC_CMD_VAL_0_RET_MASK (0xff << 24)
82#define GLOBAL_REG_PRM_VC_CMD_VAL_0_RET_CREATE(x) (((x) & 0xff) << 24)
83#define GLOBAL_REG_PRM_VC_CMD_VAL_0_RET_GET(r) (((x) >> 24) & 0xff)
84#define GLOBAL_REG_PRM_VC_CMD_VAL_0_OFF_MASK (0xff << 24)
85#define GLOBAL_REG_PRM_VC_CMD_VAL_0_OFF_CREATE(x) (((x) & 0xff) << 24)
86#define GLOBAL_REG_PRM_VC_CMD_VAL_0_OFF_GET(r) (((x) >> 24) & 0xff)
87
88 ioport32_t cmd_val_1;
89#define GLOBAL_REG_PRM_VC_CMD_VAL_1_ON_MASK (0xff << 24)
90#define GLOBAL_REG_PRM_VC_CMD_VAL_1_ON_CREATE(x) (((x) & 0xff) << 24)
91#define GLOBAL_REG_PRM_VC_CMD_VAL_1_ON_GET(r) (((x) >> 24) & 0xff)
92#define GLOBAL_REG_PRM_VC_CMD_VAL_1_ONLP_MASK (0xff << 24)
93#define GLOBAL_REG_PRM_VC_CMD_VAL_1_ONLP_CREATE(x) (((x) & 0xff) << 24)
94#define GLOBAL_REG_PRM_VC_CMD_VAL_1_ONLP_GET(r) (((x) >> 24) & 0xff)
95#define GLOBAL_REG_PRM_VC_CMD_VAL_1_RET_MASK (0xff << 24)
96#define GLOBAL_REG_PRM_VC_CMD_VAL_1_RET_CREATE(x) (((x) & 0xff) << 24)
97#define GLOBAL_REG_PRM_VC_CMD_VAL_1_RET_GET(r) (((x) >> 24) & 0xff)
98#define GLOBAL_REG_PRM_VC_CMD_VAL_1_OFF_MASK (0xff << 24)
99#define GLOBAL_REG_PRM_VC_CMD_VAL_1_OFF_CREATE(x) (((x) & 0xff) << 24)
100#define GLOBAL_REG_PRM_VC_CMD_VAL_1_OFF_GET(r) (((x) >> 24) & 0xff)
101
102 ioport32_t ch_conf;
103#define GLOBAL_REG_PRM_VC_CH_CONF_CMD1_FLAG (1 << 20)
104#define GLOBAL_REG_PRM_VC_CH_CONF_RACEN1_FLAG (1 << 19)
105#define GLOBAL_REG_PRM_VC_CH_CONF_RAC1_FLAG (1 << 18)
106#define GLOBAL_REG_PRM_VC_CH_CONF_RAV1_FLAG (1 << 17)
107#define GLOBAL_REG_PRM_VC_CH_CONF_SA1_FLAG (1 << 16)
108#define GLOBAL_REG_PRM_VC_CH_CONF_CMD0_FLAG (1 << 4)
109#define GLOBAL_REG_PRM_VC_CH_CONF_RACEN0_FLAG (1 << 3)
110#define GLOBAL_REG_PRM_VC_CH_CONF_RAC0_FLAG (1 << 2)
111#define GLOBAL_REG_PRM_VC_CH_CONF_RAV0_FLAG (1 << 1)
112#define GLOBAL_REG_PRM_VC_CH_CONF_SA0_FLAG (1 << 0)
113
114 ioport32_t i2c_cfg;
115#define GLOBAL_REG_PRM_VC_I2C_CFG_HSMASTER_FLAG (1 << 5)
116#define GLOBAL_REG_PRM_VC_I2C_CFG_SREN_FLAG (1 << 4)
117#define GLOBAL_REG_PRM_VC_I2C_CFG_HSEN_FLAG (1 << 3)
118#define GLOBAL_REG_PRM_VC_I2C_CFG_MCODE_MASK (0x3 << 0)
119#define GLOBAL_REG_PRM_VC_I2C_CFG_MCODE_CREATE(x) ((x) & 0x3)
120#define GLOBAL_REG_PRM_VC_I2C_CFG_MCODE_GET(r) ((r) & 0x3)
121
122 ioport32_t bypass_val;
123#define GLOBAL_REG_PRM_VC_BYPASS_VAL_VALID_FLAG (1 << 24)
124#define GLOBAL_REG_PRM_VC_BYPASS_VAL_DATA_MASK (0xff << 16)
125#define GLOBAL_REG_PRM_VC_BYPASS_VAL_DATA_CREATE(x) (((x) & 0xff) << 16)
126#define GLOBAL_REG_PRM_VC_BYPASS_VAL_DATA_GET(r) (((r) >> 16) & 0xff)
127#define GLOBAL_REG_PRM_VC_BYPASS_VAL_REGADDR_MASK (0xff << 8)
128#define GLOBAL_REG_PRM_VC_BYPASS_VAL_REGADDR_CREATE(x) (((x) & 0xff) << 8)
129#define GLOBAL_REG_PRM_VC_BYPASS_VAL_REGADDR_GET(r) (((r) >> 8) & 0xff)
130#define GLOBAL_REG_PRM_VC_BYPASS_VAL_SLAVEADDR_MASK (0x7f << 0)
131#define GLOBAL_REG_PRM_VC_BYPASS_VAL_SLAVEADDR_CREATE(x) (((x) & 0x7f) << 0)
132#define GLOBAL_REG_PRM_VC_BYPASS_VAL_SLAVEADDR_GET(r) (((r) >> 0) & 0x7f)
133 } vc;
134
135 PADD32(4);
136 ioport32_t rstctrl;
137#define GLOBAL_REG_PRM_RSTCTRL_RST_DPLL3_FLAG (1 << 2)
138#define GLOBAL_REG_PRM_RSTCTRL_RST_GS_FLAG (1 << 1)
139
140 ioport32_t rsttime;
141#define GLOBAL_REG_PRM_RSTTIME_RSTTIME2_MASK (0x1f << 8)
142#define GLOBAL_REG_PRM_RSTTIME_RSTTIME2_CREATE(x) (((x) & 0x1f) << 8)
143#define GLOBAL_REG_PRM_RSTTIME_RSTTIME2_GET(r) (((r) >> 8) & 0x1f)
144#define GLOBAL_REG_PRM_RSTTIME_RSTTIME1_MASK (0xff << 0)
145#define GLOBAL_REG_PRM_RSTTIME_RSTTIME1_CREATE(x) (((x) & 0xff) << 0)
146#define GLOBAL_REG_PRM_RSTTIME_RSTTIME1_GET(r) (((r) >> 0) & 0xff)
147
148 ioport32_t rstst;
149#define GLOBAL_REG_PRM_RSTST_ICECRUSHER_RST_FLAG (1 << 10)
150#define GLOBAL_REG_PRM_RSTST_ICEPICK_RST_FLAG (1 << 9)
151#define GLOBAL_REG_PRM_RSTST_VDD2_VOLTAGE_MGR_RST_FLAG (1 << 8)
152#define GLOBAL_REG_PRM_RSTST_VDD1_VOLTAGE_MGR_RST_FLAG (1 << 7)
153#define GLOBAL_REG_PRM_RSTST_EXTERNAL_WARM_REST_FLAG (1 << 6)
154#define GLOBAL_REG_PRM_RSTST_MPU_WD_RST_FLAG (1 << 4)
155#define GLOBAL_REG_PRM_RSTST_GLOBAL_SW_RST_FLAG (1 << 1)
156#define GLOBAL_REG_PRM_RSTST_GLOABL_COLD_RST_FLAG (1 << 0)
157
158 PADD32(1);
159 ioport32_t volctrl;
160#define GLOBAL_REG_PRM_VOLCTRL_SEL_VMODE_FLAG (1 << 4)
161#define GLOBAL_REG_PRM_VOLCTRL_SEL_OFF_FLAG (1 << 3)
162#define GLOBAL_REG_PRM_VOLCTRL_AUTO_OFF_FLAG (1 << 2)
163#define GLOBAL_REG_PRM_VOLCTRL_AUTO_RET_FLAG (1 << 1)
164#define GLOBAL_REG_PRM_VOLCTRL_AUTO_SLEEP_FLAG (1 << 0)
165
166 ioport32_t sram_pcharge;
167#define GLOBAL_REG_PRM_SRAM_PCHARGE_PCHARGE_TIME_MASK (0xff)
168#define GLOBAL_REG_PRM_SRAM_PCHARGE_PCHARGE_TIME_CREATE(x) ((x) & 0xff)
169#define GLOBAL_REG_PRM_SRAM_PCHARGE_PCHARGE_TIME_GET(r) ((r) & 0xff)
170
171 PADD32(2);
172 ioport32_t clksrc_ctrl;
173#define GLOBAL_REG_PRM_CLKSRC_CTRL_DPLL4_CLKINP_DIV_65_FLAG (1 << 8)
174#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKDIV_MASK (0x3 << 6)
175#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKDIV_1 (0x1 << 6)
176#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKDIV_2 (0x2 << 6)
177#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKDIV_GET(r) (((r) >> 6) & 0x3)
178#define GLOBAL_REG_PRM_CLKSRC_CTRL_AUTOEXTCLKMODE_MASK (0x3 << 3)
179#define GLOBAL_REG_PRM_CLKSRC_CTRL_AUTOEXTCLKMODE_ON (0x0 << 3)
180#define GLOBAL_REG_PRM_CLKSRC_CTRL_AUTOEXTCLKMODE_SLEEP (0x1 << 3)
181#define GLOBAL_REG_PRM_CLKSRC_CTRL_AUTOEXTCLKMODE_RET (0x2 << 3)
182#define GLOBAL_REG_PRM_CLKSRC_CTRL_AUTOEXTCLKMODE_OFF (0x3 << 3)
183#define GLOBAL_REG_PRM_CLKSRC_CTRL_AUTOEXTCLKMODE_GET(r) (((r) >> 3) & 0x3)
184#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKSEL_MASK (0x3 << 0)
185#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKSEL_BYPASS (0x0 << 0)
186#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKSEL_OSCILLATOR (0x1 << 0)
187#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKSEL_UNKNOWN (0x3 << 0)
188#define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKSEL_GET(r) (((r) >> 0) & 0x3)
189
190 PADD32(3);
191 const ioport32_t obs;
192#define GLOBAL_REG_PRM_OBS_OBS_BUS_MASK (0x3ff)
193
194 PADD32(3);
195 ioport32_t voltsetup1;
196#define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME2_MASK (0xff << 16)
197#define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME2_CREATE(x) (((x) & 0xff) << 16)
198#define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME2_GET(r) (((r) >> 16) & 0xff)
199#define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME1_MASK (0xff << 0)
200#define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME1_CREATE(x) (((x) & 0xff) << 0)
201#define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME1_GET(r) (((r) >> 0) & 0xff)
202
203 ioport32_t voltoffset;
204#define GLOBAL_REG_PRM_VOLTOFFSET_OFFSET_TIME_MASK (0xffff << 0)
205#define GLOBAL_REG_PRM_VOLTOFFSET_OFFSET_TIME_CREATE(x) (((x) & 0xffff) << 0)
206#define GLOBAL_REG_PRM_VOLTOFFSET_OFFSET_TIME_GET(r) (((r) >> 0) & 0xffff)
207
208 ioport32_t clksetup;
209#define GLOBAL_REG_PRM_CLKSETUP_SETUP_TIME_MASK (0xffff << 0)
210#define GLOBAL_REG_PRM_CLKSETUP_SETUP_TIME_CREATE(x) (((x) & 0xffff) << 0)
211#define GLOBAL_REG_PRM_CLKSETUP_SETUP_TIME_GET(r) (((r) >> 0) & 0xffff)
212
213 ioport32_t polctrl;
214#define GLOBAL_REG_PRM_POLCTRL_OFFMODE_POL_FLAG (1 << 3)
215#define GLOBAL_REG_PRM_POLCTRL_CLKOUT_POL_FLAG (1 << 2)
216#define GLOBAL_REG_PRM_POLCTRL_CLKREG_POL_FLAG (1 << 1)
217#define GLOBAL_REG_PRM_POLCTRL_EXTVOL_POL_FLAG (1 << 0)
218
219 ioport32_t voltsetup2;
220#define GLOBAL_REG_PRM_VOLTSETUP2_OFFMODESETUPTIME_MASK (0xffff << 0)
221#define GLOBAL_REG_PRM_VOLTSETUP2_OFFMODESETUPTIME_CREATE(x) (((x) & 0xffff) << 0)
222#define GLOBAL_REG_PRM_VOLTSETUP2_OFFMODESETUPTIME_GET(r) (((r) >> 0) & 0xffff)
223
224 PADD32(3);
225 struct {
226 ioport32_t config;
227#define GLOBAL_REG_PRM_VP_CONFIG_ERROROFFSET_MASK (0xff << 24)
228#define GLOBAL_REG_PRM_VP_CONFIG_ERROROFFSET_CREATE(x) (((x) & 0xff) << 24)
229#define GLOBAL_REG_PRM_VP_CONFIG_ERROROFFSET_GET(r) (((r) >> 0xff << 24)
230#define GLOBAL_REG_PRM_VP_CONFIG_ERRORGAIN_MASK (0xff << 16)
231#define GLOBAL_REG_PRM_VP_CONFIG_ERRORGAIN_CREATE(x) (((x) & 0xff) << 16)
232#define GLOBAL_REG_PRM_VP_CONFIG_ERRORGAIN_GET(r) (((r) >> 0xff << 16)
233#define GLOBAL_REG_PRM_VP_CONFIG_INITVOLTAGE_MASK (0xff << 8)
234#define GLOBAL_REG_PRM_VP_CONFIG_INITVOLTAGE_CREATE(x) (((x) & 0xff) << 8)
235#define GLOBAL_REG_PRM_VP_CONFIG_INITVOLTAGE_GET(r) (((r) >> 0xff << 8)
236#define GLOBAL_REG_PRM_VP_CONFIG_TIMEOUTEN_FLAG (1 << 3)
237#define GLOBAL_REG_PRM_VP_CONFIG_INITVDD_FLAG (1 << 2)
238#define GLOBAL_REG_PRM_VP_CONFIG_FORCEUPDATE_FLAG (1 << 1)
239#define GLOBAL_REG_PRM_VP_CONFIG_VPENABLE_FLAG (1 << 0)
240
241 ioport32_t vstepmin;
242#define GLOBAL_REG_PRM_VP_VSTEPMIN_SMPSWAITTIMEMIN_MASK (0xffff << 8)
243#define GLOBAL_REG_PRM_VP_VSTEPMIN_SMPSWAITTIMEMIN_CREATE(x) (((x)0xffff << 8)
244#define GLOBAL_REG_PRM_VP_VSTEPMIN_SMPSWAITTIMEMIN_GET(r) (((r) >> 8) & 0xffff)
245#define GLOBAL_REG_PRM_VP_VSTEPMIN_VSTEPMIN_MASK (0xff << 0)
246#define GLOBAL_REG_PRM_VP_VSTEPMIN_VSTEPMIN_CREATE(x) (((x)0xff << 0)
247#define GLOBAL_REG_PRM_VP_VSTEPMIN_VSTEPMIN_GET(r) (((r) >> 0) & 0xff)
248
249 ioport32_t vstepmax;
250#define GLOBAL_REG_PRM_VP_VSTEPMAX_SMPSWAITTIMEMIN_MASK (0xffff << 8)
251#define GLOBAL_REG_PRM_VP_VSTEPMAX_SMPSWAITTIMEMIN_CREATE(x) (((x)0xffff << 8)
252#define GLOBAL_REG_PRM_VP_VSTEPMAX_SMPSWAITTIMEMIN_GET(r) (((r) >> 8) & 0xffff)
253#define GLOBAL_REG_PRM_VP_VSTEPMAX_VSTEPMIN_MASK (0xff << 0)
254#define GLOBAL_REG_PRM_VP_VSTEPMAX_VSTEPMIN_CREATE(x) (((x)0xff << 0)
255#define GLOBAL_REG_PRM_VP_VSTEPMAX_VSTEPMIN_GET(r) (((r) >> 0) & 0xff)
256
257 ioport32_t vlimitto;
258#define GLOBAL_REG_PRM_VP_VLIMITTO_VDDMAX_MASK (0xff << 24)
259#define GLOBAL_REG_PRM_VP_VLIMITTO_VDDMAX_CREATE(x) (((x)0xff << 24)
260#define GLOBAL_REG_PRM_VP_VLIMITTO_VDDMAX_GET(r) (((r) >> 24) & 0xff)
261#define GLOBAL_REG_PRM_VP_VLIMITTO_VDDMIN_MASK (0xff << 16)
262#define GLOBAL_REG_PRM_VP_VLIMITTO_VDDMIN_CREATE(x) (((x)0xff << 16)
263#define GLOBAL_REG_PRM_VP_VLIMITTO_VDDMIN_GET(r) (((r) >> 16) & 0xff)
264#define GLOBAL_REG_PRM_VP_VLIMITTO_TIMEOUT_MASK (0xffff << 0)
265#define GLOBAL_REG_PRM_VP_VLIMITTO_TIMEOUT_CREATE(x) (((x)0xffff << 0)
266#define GLOBAL_REG_PRM_VP_VLIMITTO_TIMEOUT_GET(r) (((r) >> 0) & 0xffff)
267
268 const ioport32_t voltage;
269#define GLOBAL_REG_PRM_VP_VOLTAGE_VPVOLTAGE_MASK (0xff)
270#define GLOBAL_REG_PRM_VP_VOLTAGE_VPVOLTAGE_GET(r) ((r) & 0xff)
271
272 const ioport32_t status;
273#define GLOBAL_REG_PRM_VP_STATUS_VPINIDLE_FLAG (1 << 0)
274
275 PADD32(2);
276 } vp[2];
277
278 ioport32_t ldo_abb_setup;
279#define GLOBAL_REG_PRM_LDO_ABB_SETUP_SR2_IN_TRANSITION (1 << 6)
280#define GLOBAL_REG_PRM_LDO_ABB_SETUP_SR2_STATUS_MASK (0x3 << 3)
281#define GLOBAL_REG_PRM_LDO_ABB_SETUP_SR2_STATUS_BYPASS (0x0 << 3)
282#define GLOBAL_REG_PRM_LDO_ABB_SETUP_SR2_STATUS_FBB (0x2 << 3)
283#define GLOBAL_REG_PRM_LDO_ABB_SETUP_SR2_OPP_CHANGE_FLAG (1 << 2)
284#define GLOBAL_REG_PRM_LDO_ABB_SETUP_OPP_SEL_MASK (0x3 << 0)
285#define GLOBAL_REG_PRM_LDO_ABB_SETUP_OPP_SEL_DEFAULT (0x0 << 0)
286#define GLOBAL_REG_PRM_LDO_ABB_SETUP_OPP_SEL_FAST (0x1 << 0)
287#define GLOBAL_REG_PRM_LDO_ABB_SETUP_OPP_SEL_NOMINAL (0x2 << 0)
288#define GLOBAL_REG_PRM_LDO_ABB_SETUP_OPP_SEL_SLOW (0x3 << 0)
289
290 ioport32_t ldo_abb_ctrl;
291#define GLOBAL_REG_PRM_LDO_ABB_CTRL_SR2_WTCNT_VALUE_MASK (0xff << 8)
292#define GLOBAL_REG_PRM_LDO_ABB_CTRL_SR2_WTCNT_VALUE_CREATE(x) (((x) & 0xff) << 8)
293#define GLOBAL_REG_PRM_LDO_ABB_CTRL_SR2_WTCNT_VALUE_GET(r) (((r) >> 8) & 0xff)
294#define GLOBAL_REG_PRM_LDO_ABB_CTRL_ACTIVE_FBB_SEL_FLAG (1 << 2)
295#define GLOBAL_REG_PRM_LDO_ABB_CTRL_SR2EN (1 << 0)
296} global_reg_prm_regs_t;
297
298#endif
299/**
300 * @}
301 */
Note: See TracBrowser for help on using the repository browser.