coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
pmic_wrap.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#ifndef SOC_MEDIATEK_MT8173_PMIC_WRAP_H
4
#define SOC_MEDIATEK_MT8173_PMIC_WRAP_H
5
6
#include <soc/addressmap.h>
7
#include <
soc/pmic_wrap_common.h
>
8
#include <types.h>
9
10
static
struct
mt8173_pwrap_regs
*
const
mtk_pwrap
= (
void
*)
PMIC_WRAP_BASE
;
11
12
enum
{
13
WACS2
= 1 << 4
14
};
15
16
enum
{
17
DEW_BASE
= 0xBC00
18
};
19
20
/* PMIC registers */
21
enum
{
22
PMIC_BASE
= 0x0000,
23
PMIC_WRP_CKPDN
=
PMIC_BASE
+ 0x011A,
// 0x0056
24
PMIC_WRP_RST_CON
=
PMIC_BASE
+ 0x0120,
// 0x005C
25
PMIC_TOP_CKCON2
=
PMIC_BASE
+ 0x012A,
26
PMIC_TOP_CKCON3
=
PMIC_BASE
+ 0x01D4
27
};
28
29
/* PMIC_WRAP registers */
30
struct
mt8173_pwrap_regs
{
31
u32
mux_sel
;
32
u32
wrap_en
;
33
u32
dio_en
;
34
u32
sidly
;
35
u32
rddmy
;
36
u32
si_ck_con
;
37
u32
cshext_write
;
38
u32
cshext_read
;
39
u32
cslext_start
;
40
u32
cslext_end
;
41
u32
staupd_prd
;
42
u32
staupd_grpen
;
43
u32
reserved
[4];
44
u32
staupd_man_trig
;
45
u32
staupd_sta
;
46
u32
wrap_sta
;
47
u32
harb_init
;
48
u32
harb_hprio
;
49
u32
hiprio_arb_en
;
50
u32
harb_sta0
;
51
u32
harb_sta1
;
52
u32
man_en
;
53
u32
man_cmd
;
54
u32
man_rdata
;
55
u32
man_vldclr
;
56
u32
wacs0_en
;
57
u32
init_done0
;
58
u32
wacs0_cmd
;
59
u32
wacs0_rdata
;
60
u32
wacs0_vldclr
;
61
u32
wacs1_en
;
62
u32
init_done1
;
63
u32
wacs1_cmd
;
64
u32
wacs1_rdata
;
65
u32
wacs1_vldclr
;
66
u32
wacs2_en
;
67
u32
init_done2
;
68
u32
wacs2_cmd
;
69
u32
wacs2_rdata
;
70
u32
wacs2_vldclr
;
71
u32
int_en
;
72
u32
int_flg_raw
;
73
u32
int_flg
;
74
u32
int_clr
;
75
u32
sig_adr
;
76
u32
sig_mode
;
77
u32
sig_value
;
78
u32
sig_errval
;
79
u32
crc_en
;
80
u32
timer_en
;
81
u32
timer_sta
;
82
u32
wdt_unit
;
83
u32
wdt_src_en
;
84
u32
wdt_flg
;
85
u32
debug_int_sel
;
86
u32
dvfs_adr0
;
87
u32
dvfs_wdata0
;
88
u32
dvfs_adr1
;
89
u32
dvfs_wdata1
;
90
u32
dvfs_adr2
;
91
u32
dvfs_wdata2
;
92
u32
dvfs_adr3
;
93
u32
dvfs_wdata3
;
94
u32
dvfs_adr4
;
95
u32
dvfs_wdata4
;
96
u32
dvfs_adr5
;
97
u32
dvfs_wdata5
;
98
u32
dvfs_adr6
;
99
u32
dvfs_wdata6
;
100
u32
dvfs_adr7
;
101
u32
dvfs_wdata7
;
102
u32
spminf_sta
;
103
u32
cipher_key_sel
;
104
u32
cipher_iv_sel
;
105
u32
cipher_en
;
106
u32
cipher_rdy
;
107
u32
cipher_mode
;
108
u32
cipher_swrst
;
109
u32
dcm_en
;
110
u32
dcm_dbc_prd
;
111
};
112
113
check_member
(
mt8173_pwrap_regs
, dcm_dbc_prd, 0x148);
114
115
/* dewrapper register */
116
enum
{
117
DEW_EVENT_OUT_EN
=
DEW_BASE
+ 0x0,
118
DEW_DIO_EN
=
DEW_BASE
+ 0x2,
119
DEW_EVENT_SRC_EN
=
DEW_BASE
+ 0x4,
120
DEW_EVENT_SRC
=
DEW_BASE
+ 0x6,
121
DEW_EVENT_FLAG
=
DEW_BASE
+ 0x8,
122
DEW_READ_TEST
=
DEW_BASE
+ 0xA,
123
DEW_WRITE_TEST
=
DEW_BASE
+ 0xC,
124
DEW_CRC_EN
=
DEW_BASE
+ 0xE,
125
DEW_CRC_VAL
=
DEW_BASE
+ 0x10,
126
DEW_MON_GRP_SEL
=
DEW_BASE
+ 0x12,
127
DEW_MON_FLAG_SEL
=
DEW_BASE
+ 0x14,
128
DEW_EVENT_TEST
=
DEW_BASE
+ 0x16,
129
DEW_CIPHER_KEY_SEL
=
DEW_BASE
+ 0x18,
130
DEW_CIPHER_IV_SEL
=
DEW_BASE
+ 0x1A,
131
DEW_CIPHER_LOAD
=
DEW_BASE
+ 0x1C,
132
DEW_CIPHER_START
=
DEW_BASE
+ 0x1E,
133
DEW_CIPHER_RDY
=
DEW_BASE
+ 0x20,
134
DEW_CIPHER_MODE
=
DEW_BASE
+ 0x22,
135
DEW_CIPHER_SWRST
=
DEW_BASE
+ 0x24,
136
DEW_CIPHER_IV0
=
DEW_BASE
+ 0x26,
137
DEW_CIPHER_IV1
=
DEW_BASE
+ 0x28,
138
DEW_CIPHER_IV2
=
DEW_BASE
+ 0x2A,
139
DEW_CIPHER_IV3
=
DEW_BASE
+ 0x2C,
140
DEW_CIPHER_IV4
=
DEW_BASE
+ 0x2E,
141
DEW_CIPHER_IV5
=
DEW_BASE
+ 0x30
142
};
143
144
enum
pmic_regck
{
145
REG_CLOCK_18MHZ
,
146
REG_CLOCK_26MHZ
,
147
REG_CLOCK_SAFE_MODE
148
};
149
150
#endif
/* SOC_MEDIATEK_MT8173_PMIC_WRAP_H */
check_member
check_member(mt8173_pwrap_regs, dcm_dbc_prd, 0x148)
PMIC_WRP_RST_CON
@ PMIC_WRP_RST_CON
Definition:
pmic_wrap.h:24
PMIC_TOP_CKCON3
@ PMIC_TOP_CKCON3
Definition:
pmic_wrap.h:26
PMIC_WRP_CKPDN
@ PMIC_WRP_CKPDN
Definition:
pmic_wrap.h:23
PMIC_BASE
@ PMIC_BASE
Definition:
pmic_wrap.h:22
PMIC_TOP_CKCON2
@ PMIC_TOP_CKCON2
Definition:
pmic_wrap.h:25
DEW_BASE
@ DEW_BASE
Definition:
pmic_wrap.h:17
mtk_pwrap
static struct mt8173_pwrap_regs *const mtk_pwrap
Definition:
pmic_wrap.h:10
DEW_MON_FLAG_SEL
@ DEW_MON_FLAG_SEL
Definition:
pmic_wrap.h:127
DEW_CIPHER_MODE
@ DEW_CIPHER_MODE
Definition:
pmic_wrap.h:134
DEW_EVENT_TEST
@ DEW_EVENT_TEST
Definition:
pmic_wrap.h:128
DEW_CIPHER_LOAD
@ DEW_CIPHER_LOAD
Definition:
pmic_wrap.h:131
DEW_CIPHER_IV1
@ DEW_CIPHER_IV1
Definition:
pmic_wrap.h:137
DEW_CIPHER_IV2
@ DEW_CIPHER_IV2
Definition:
pmic_wrap.h:138
DEW_EVENT_SRC
@ DEW_EVENT_SRC
Definition:
pmic_wrap.h:120
DEW_CIPHER_SWRST
@ DEW_CIPHER_SWRST
Definition:
pmic_wrap.h:135
DEW_EVENT_SRC_EN
@ DEW_EVENT_SRC_EN
Definition:
pmic_wrap.h:119
DEW_CIPHER_IV0
@ DEW_CIPHER_IV0
Definition:
pmic_wrap.h:136
DEW_CIPHER_IV3
@ DEW_CIPHER_IV3
Definition:
pmic_wrap.h:139
DEW_READ_TEST
@ DEW_READ_TEST
Definition:
pmic_wrap.h:122
DEW_CIPHER_IV5
@ DEW_CIPHER_IV5
Definition:
pmic_wrap.h:141
DEW_CIPHER_RDY
@ DEW_CIPHER_RDY
Definition:
pmic_wrap.h:133
DEW_CIPHER_IV4
@ DEW_CIPHER_IV4
Definition:
pmic_wrap.h:140
DEW_EVENT_FLAG
@ DEW_EVENT_FLAG
Definition:
pmic_wrap.h:121
DEW_CIPHER_IV_SEL
@ DEW_CIPHER_IV_SEL
Definition:
pmic_wrap.h:130
DEW_CIPHER_KEY_SEL
@ DEW_CIPHER_KEY_SEL
Definition:
pmic_wrap.h:129
DEW_CRC_EN
@ DEW_CRC_EN
Definition:
pmic_wrap.h:124
DEW_CRC_VAL
@ DEW_CRC_VAL
Definition:
pmic_wrap.h:125
DEW_DIO_EN
@ DEW_DIO_EN
Definition:
pmic_wrap.h:118
DEW_WRITE_TEST
@ DEW_WRITE_TEST
Definition:
pmic_wrap.h:123
DEW_MON_GRP_SEL
@ DEW_MON_GRP_SEL
Definition:
pmic_wrap.h:126
DEW_CIPHER_START
@ DEW_CIPHER_START
Definition:
pmic_wrap.h:132
DEW_EVENT_OUT_EN
@ DEW_EVENT_OUT_EN
Definition:
pmic_wrap.h:117
pmic_regck
pmic_regck
Definition:
pmic_wrap.h:144
REG_CLOCK_26MHZ
@ REG_CLOCK_26MHZ
Definition:
pmic_wrap.h:146
REG_CLOCK_18MHZ
@ REG_CLOCK_18MHZ
Definition:
pmic_wrap.h:145
REG_CLOCK_SAFE_MODE
@ REG_CLOCK_SAFE_MODE
Definition:
pmic_wrap.h:147
WACS2
@ WACS2
Definition:
pmic_wrap.h:13
pmic_wrap_common.h
PMIC_WRAP_BASE
@ PMIC_WRAP_BASE
Definition:
addressmap.h:23
u32
uint32_t u32
Definition:
stdint.h:51
mt8173_pwrap_regs
Definition:
pmic_wrap.h:30
mt8173_pwrap_regs::wdt_unit
u32 wdt_unit
Definition:
pmic_wrap.h:82
mt8173_pwrap_regs::wacs1_vldclr
u32 wacs1_vldclr
Definition:
pmic_wrap.h:65
mt8173_pwrap_regs::dvfs_wdata4
u32 dvfs_wdata4
Definition:
pmic_wrap.h:95
mt8173_pwrap_regs::timer_sta
u32 timer_sta
Definition:
pmic_wrap.h:81
mt8173_pwrap_regs::man_rdata
u32 man_rdata
Definition:
pmic_wrap.h:54
mt8173_pwrap_regs::wacs0_vldclr
u32 wacs0_vldclr
Definition:
pmic_wrap.h:60
mt8173_pwrap_regs::dvfs_adr1
u32 dvfs_adr1
Definition:
pmic_wrap.h:88
mt8173_pwrap_regs::man_cmd
u32 man_cmd
Definition:
pmic_wrap.h:53
mt8173_pwrap_regs::rddmy
u32 rddmy
Definition:
pmic_wrap.h:35
mt8173_pwrap_regs::staupd_prd
u32 staupd_prd
Definition:
pmic_wrap.h:41
mt8173_pwrap_regs::dvfs_adr2
u32 dvfs_adr2
Definition:
pmic_wrap.h:90
mt8173_pwrap_regs::cslext_start
u32 cslext_start
Definition:
pmic_wrap.h:39
mt8173_pwrap_regs::cipher_iv_sel
u32 cipher_iv_sel
Definition:
pmic_wrap.h:104
mt8173_pwrap_regs::staupd_man_trig
u32 staupd_man_trig
Definition:
pmic_wrap.h:44
mt8173_pwrap_regs::dvfs_adr3
u32 dvfs_adr3
Definition:
pmic_wrap.h:92
mt8173_pwrap_regs::int_en
u32 int_en
Definition:
pmic_wrap.h:71
mt8173_pwrap_regs::dvfs_adr4
u32 dvfs_adr4
Definition:
pmic_wrap.h:94
mt8173_pwrap_regs::debug_int_sel
u32 debug_int_sel
Definition:
pmic_wrap.h:85
mt8173_pwrap_regs::spminf_sta
u32 spminf_sta
Definition:
pmic_wrap.h:102
mt8173_pwrap_regs::wacs2_vldclr
u32 wacs2_vldclr
Definition:
pmic_wrap.h:70
mt8173_pwrap_regs::wacs1_rdata
u32 wacs1_rdata
Definition:
pmic_wrap.h:64
mt8173_pwrap_regs::dvfs_adr0
u32 dvfs_adr0
Definition:
pmic_wrap.h:86
mt8173_pwrap_regs::dvfs_wdata0
u32 dvfs_wdata0
Definition:
pmic_wrap.h:87
mt8173_pwrap_regs::harb_sta1
u32 harb_sta1
Definition:
pmic_wrap.h:51
mt8173_pwrap_regs::sig_errval
u32 sig_errval
Definition:
pmic_wrap.h:78
mt8173_pwrap_regs::dvfs_wdata6
u32 dvfs_wdata6
Definition:
pmic_wrap.h:99
mt8173_pwrap_regs::init_done2
u32 init_done2
Definition:
pmic_wrap.h:67
mt8173_pwrap_regs::dvfs_wdata3
u32 dvfs_wdata3
Definition:
pmic_wrap.h:93
mt8173_pwrap_regs::dvfs_adr6
u32 dvfs_adr6
Definition:
pmic_wrap.h:98
mt8173_pwrap_regs::int_flg_raw
u32 int_flg_raw
Definition:
pmic_wrap.h:72
mt8173_pwrap_regs::hiprio_arb_en
u32 hiprio_arb_en
Definition:
pmic_wrap.h:49
mt8173_pwrap_regs::dvfs_adr7
u32 dvfs_adr7
Definition:
pmic_wrap.h:100
mt8173_pwrap_regs::harb_init
u32 harb_init
Definition:
pmic_wrap.h:47
mt8173_pwrap_regs::man_vldclr
u32 man_vldclr
Definition:
pmic_wrap.h:55
mt8173_pwrap_regs::cipher_rdy
u32 cipher_rdy
Definition:
pmic_wrap.h:106
mt8173_pwrap_regs::int_flg
u32 int_flg
Definition:
pmic_wrap.h:73
mt8173_pwrap_regs::cipher_mode
u32 cipher_mode
Definition:
pmic_wrap.h:107
mt8173_pwrap_regs::wacs1_cmd
u32 wacs1_cmd
Definition:
pmic_wrap.h:63
mt8173_pwrap_regs::dvfs_adr5
u32 dvfs_adr5
Definition:
pmic_wrap.h:96
mt8173_pwrap_regs::dvfs_wdata7
u32 dvfs_wdata7
Definition:
pmic_wrap.h:101
mt8173_pwrap_regs::crc_en
u32 crc_en
Definition:
pmic_wrap.h:79
mt8173_pwrap_regs::dvfs_wdata2
u32 dvfs_wdata2
Definition:
pmic_wrap.h:91
mt8173_pwrap_regs::man_en
u32 man_en
Definition:
pmic_wrap.h:52
mt8173_pwrap_regs::dcm_dbc_prd
u32 dcm_dbc_prd
Definition:
pmic_wrap.h:110
mt8173_pwrap_regs::sig_adr
u32 sig_adr
Definition:
pmic_wrap.h:75
mt8173_pwrap_regs::staupd_sta
u32 staupd_sta
Definition:
pmic_wrap.h:45
mt8173_pwrap_regs::cipher_swrst
u32 cipher_swrst
Definition:
pmic_wrap.h:108
mt8173_pwrap_regs::harb_hprio
u32 harb_hprio
Definition:
pmic_wrap.h:48
mt8173_pwrap_regs::wacs2_cmd
u32 wacs2_cmd
Definition:
pmic_wrap.h:68
mt8173_pwrap_regs::dio_en
u32 dio_en
Definition:
pmic_wrap.h:33
mt8173_pwrap_regs::wrap_en
u32 wrap_en
Definition:
pmic_wrap.h:32
mt8173_pwrap_regs::wacs0_rdata
u32 wacs0_rdata
Definition:
pmic_wrap.h:59
mt8173_pwrap_regs::dcm_en
u32 dcm_en
Definition:
pmic_wrap.h:109
mt8173_pwrap_regs::int_clr
u32 int_clr
Definition:
pmic_wrap.h:74
mt8173_pwrap_regs::wdt_src_en
u32 wdt_src_en
Definition:
pmic_wrap.h:83
mt8173_pwrap_regs::sig_value
u32 sig_value
Definition:
pmic_wrap.h:77
mt8173_pwrap_regs::sig_mode
u32 sig_mode
Definition:
pmic_wrap.h:76
mt8173_pwrap_regs::timer_en
u32 timer_en
Definition:
pmic_wrap.h:80
mt8173_pwrap_regs::dvfs_wdata5
u32 dvfs_wdata5
Definition:
pmic_wrap.h:97
mt8173_pwrap_regs::wacs1_en
u32 wacs1_en
Definition:
pmic_wrap.h:61
mt8173_pwrap_regs::wdt_flg
u32 wdt_flg
Definition:
pmic_wrap.h:84
mt8173_pwrap_regs::cslext_end
u32 cslext_end
Definition:
pmic_wrap.h:40
mt8173_pwrap_regs::wacs2_rdata
u32 wacs2_rdata
Definition:
pmic_wrap.h:69
mt8173_pwrap_regs::wacs0_cmd
u32 wacs0_cmd
Definition:
pmic_wrap.h:58
mt8173_pwrap_regs::harb_sta0
u32 harb_sta0
Definition:
pmic_wrap.h:50
mt8173_pwrap_regs::mux_sel
u32 mux_sel
Definition:
pmic_wrap.h:31
mt8173_pwrap_regs::cshext_read
u32 cshext_read
Definition:
pmic_wrap.h:38
mt8173_pwrap_regs::init_done1
u32 init_done1
Definition:
pmic_wrap.h:62
mt8173_pwrap_regs::cipher_en
u32 cipher_en
Definition:
pmic_wrap.h:105
mt8173_pwrap_regs::dvfs_wdata1
u32 dvfs_wdata1
Definition:
pmic_wrap.h:89
mt8173_pwrap_regs::wacs2_en
u32 wacs2_en
Definition:
pmic_wrap.h:66
mt8173_pwrap_regs::reserved
u32 reserved[4]
Definition:
pmic_wrap.h:43
mt8173_pwrap_regs::wrap_sta
u32 wrap_sta
Definition:
pmic_wrap.h:46
mt8173_pwrap_regs::cshext_write
u32 cshext_write
Definition:
pmic_wrap.h:37
mt8173_pwrap_regs::wacs0_en
u32 wacs0_en
Definition:
pmic_wrap.h:56
mt8173_pwrap_regs::sidly
u32 sidly
Definition:
pmic_wrap.h:34
mt8173_pwrap_regs::staupd_grpen
u32 staupd_grpen
Definition:
pmic_wrap.h:42
mt8173_pwrap_regs::init_done0
u32 init_done0
Definition:
pmic_wrap.h:57
mt8173_pwrap_regs::cipher_key_sel
u32 cipher_key_sel
Definition:
pmic_wrap.h:103
mt8173_pwrap_regs::si_ck_con
u32 si_ck_con
Definition:
pmic_wrap.h:36
src
soc
mediatek
mt8173
include
soc
pmic_wrap.h
Generated by
1.9.1