1 /**
2   ******************************************************************************
3   * @file    ef_ctrl_reg.h
4   * @version V1.0
5   * @date    2022-10-20
6   * @brief   This file is the description of.IP register
7   ******************************************************************************
8   * @attention
9   *
10   * <h2><center>&copy; COPYRIGHT(c) 2020 Bouffalo Lab</center></h2>
11   *
12   * Redistribution and use in source and binary forms, with or without modification,
13   * are permitted provided that the following conditions are met:
14   *   1. Redistributions of source code must retain the above copyright notice,
15   *      this list of conditions and the following disclaimer.
16   *   2. Redistributions in binary form must reproduce the above copyright notice,
17   *      this list of conditions and the following disclaimer in the documentation
18   *      and/or other materials provided with the distribution.
19   *   3. Neither the name of Bouffalo Lab nor the names of its contributors
20   *      may be used to endorse or promote products derived from this software
21   *      without specific prior written permission.
22   *
23   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33   *
34   ******************************************************************************
35   */
36 #ifndef __HARDWARE_EF_CTRL_H__
37 #define __HARDWARE_EF_CTRL_H__
38 
39 /****************************************************************************
40  * Pre-processor Definitions
41 ****************************************************************************/
42 
43 /* Register offsets *********************************************************/
44 
45 #define EF_CTRL_EF_IF_CTRL_0_OFFSET   (0x800) /* efuse control */
46 #define EF_CTRL_EF_IF_CYC_0_OFFSET    (0x804) /* efuse cycle config 0 */
47 #define EF_CTRL_EF_IF_CYC_1_OFFSET    (0x808) /* efuse cycle config 1 */
48 #define EF_CTRL_EF_IF_0_MANUAL_OFFSET (0x80C) /* efuse manual config 1 */
49 #define EF_CTRL_EF_IF_0_STATUS_OFFSET (0x810) /* efuse status */
50 #define EF_CTRL_EF_IF_CFG_0_OFFSET    (0x814) /* efuse config 0 */
51 
52 /* 0x800 :efuse control */
53 #define EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE       EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE
54 #define EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_POS   (0U)
55 #define EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_LEN   (1U)
56 #define EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_MASK  (((1U << EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_LEN) - 1) << EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_POS)
57 #define EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_UMASK (~(((1U << EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_LEN) - 1) << EF_CTRL_EF_IF_0_AUTOLOAD_P1_DONE_POS))
58 #define EF_CTRL_EF_IF_0_AUTOLOAD_DONE          EF_CTRL_EF_IF_0_AUTOLOAD_DONE
59 #define EF_CTRL_EF_IF_0_AUTOLOAD_DONE_POS      (1U)
60 #define EF_CTRL_EF_IF_0_AUTOLOAD_DONE_LEN      (1U)
61 #define EF_CTRL_EF_IF_0_AUTOLOAD_DONE_MASK     (((1U << EF_CTRL_EF_IF_0_AUTOLOAD_DONE_LEN) - 1) << EF_CTRL_EF_IF_0_AUTOLOAD_DONE_POS)
62 #define EF_CTRL_EF_IF_0_AUTOLOAD_DONE_UMASK    (~(((1U << EF_CTRL_EF_IF_0_AUTOLOAD_DONE_LEN) - 1) << EF_CTRL_EF_IF_0_AUTOLOAD_DONE_POS))
63 //#define EF_CTRL_EF_IF_0_BUSY                   EF_CTRL_EF_IF_0_BUSY
64 #define EF_CTRL_EF_IF_0_BUSY_POS               (2U)
65 #define EF_CTRL_EF_IF_0_BUSY_LEN               (1U)
66 #define EF_CTRL_EF_IF_0_BUSY_MASK              (((1U << EF_CTRL_EF_IF_0_BUSY_LEN) - 1) << EF_CTRL_EF_IF_0_BUSY_POS)
67 #define EF_CTRL_EF_IF_0_BUSY_UMASK             (~(((1U << EF_CTRL_EF_IF_0_BUSY_LEN) - 1) << EF_CTRL_EF_IF_0_BUSY_POS))
68 #define EF_CTRL_EF_IF_0_RW                     EF_CTRL_EF_IF_0_RW
69 #define EF_CTRL_EF_IF_0_RW_POS                 (3U)
70 #define EF_CTRL_EF_IF_0_RW_LEN                 (1U)
71 #define EF_CTRL_EF_IF_0_RW_MASK                (((1U << EF_CTRL_EF_IF_0_RW_LEN) - 1) << EF_CTRL_EF_IF_0_RW_POS)
72 #define EF_CTRL_EF_IF_0_RW_UMASK               (~(((1U << EF_CTRL_EF_IF_0_RW_LEN) - 1) << EF_CTRL_EF_IF_0_RW_POS))
73 #define EF_CTRL_EF_IF_0_TRIG                   EF_CTRL_EF_IF_0_TRIG
74 #define EF_CTRL_EF_IF_0_TRIG_POS               (4U)
75 #define EF_CTRL_EF_IF_0_TRIG_LEN               (1U)
76 #define EF_CTRL_EF_IF_0_TRIG_MASK              (((1U << EF_CTRL_EF_IF_0_TRIG_LEN) - 1) << EF_CTRL_EF_IF_0_TRIG_POS)
77 #define EF_CTRL_EF_IF_0_TRIG_UMASK             (~(((1U << EF_CTRL_EF_IF_0_TRIG_LEN) - 1) << EF_CTRL_EF_IF_0_TRIG_POS))
78 #define EF_CTRL_EF_IF_0_MANUAL_EN              EF_CTRL_EF_IF_0_MANUAL_EN
79 #define EF_CTRL_EF_IF_0_MANUAL_EN_POS          (5U)
80 #define EF_CTRL_EF_IF_0_MANUAL_EN_LEN          (1U)
81 #define EF_CTRL_EF_IF_0_MANUAL_EN_MASK         (((1U << EF_CTRL_EF_IF_0_MANUAL_EN_LEN) - 1) << EF_CTRL_EF_IF_0_MANUAL_EN_POS)
82 #define EF_CTRL_EF_IF_0_MANUAL_EN_UMASK        (~(((1U << EF_CTRL_EF_IF_0_MANUAL_EN_LEN) - 1) << EF_CTRL_EF_IF_0_MANUAL_EN_POS))
83 #define EF_CTRL_EF_IF_0_CYC_MODIFY             EF_CTRL_EF_IF_0_CYC_MODIFY
84 #define EF_CTRL_EF_IF_0_CYC_MODIFY_POS         (6U)
85 #define EF_CTRL_EF_IF_0_CYC_MODIFY_LEN         (1U)
86 #define EF_CTRL_EF_IF_0_CYC_MODIFY_MASK        (((1U << EF_CTRL_EF_IF_0_CYC_MODIFY_LEN) - 1) << EF_CTRL_EF_IF_0_CYC_MODIFY_POS)
87 #define EF_CTRL_EF_IF_0_CYC_MODIFY_UMASK       (~(((1U << EF_CTRL_EF_IF_0_CYC_MODIFY_LEN) - 1) << EF_CTRL_EF_IF_0_CYC_MODIFY_POS))
88 #if defined(BL702) || defined(BL602) || defined(BL702L)
89 #define EF_CTRL_EF_CLK_SAHB_DATA_SEL       EF_CTRL_EF_CLK_SAHB_DATA_SEL
90 #define EF_CTRL_EF_CLK_SAHB_DATA_SEL_POS   (7U)
91 #define EF_CTRL_EF_CLK_SAHB_DATA_SEL_LEN   (1U)
92 #define EF_CTRL_EF_CLK_SAHB_DATA_SEL_MASK  (((1U << EF_CTRL_EF_CLK_SAHB_DATA_SEL_LEN) - 1) << EF_CTRL_EF_CLK_SAHB_DATA_SEL_POS)
93 #define EF_CTRL_EF_CLK_SAHB_DATA_SEL_UMASK (~(((1U << EF_CTRL_EF_CLK_SAHB_DATA_SEL_LEN) - 1) << EF_CTRL_EF_CLK_SAHB_DATA_SEL_POS))
94 #endif
95 #define EF_CTRL_EF_IF_PROT_CODE_CTRL       EF_CTRL_EF_IF_PROT_CODE_CTRL
96 #define EF_CTRL_EF_IF_PROT_CODE_CTRL_POS   (8U)
97 #define EF_CTRL_EF_IF_PROT_CODE_CTRL_LEN   (8U)
98 #define EF_CTRL_EF_IF_PROT_CODE_CTRL_MASK  (((1U << EF_CTRL_EF_IF_PROT_CODE_CTRL_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_CTRL_POS)
99 #define EF_CTRL_EF_IF_PROT_CODE_CTRL_UMASK (~(((1U << EF_CTRL_EF_IF_PROT_CODE_CTRL_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_CTRL_POS))
100 #define EF_CTRL_EF_IF_POR_DIG              EF_CTRL_EF_IF_POR_DIG
101 #define EF_CTRL_EF_IF_POR_DIG_POS          (16U)
102 #define EF_CTRL_EF_IF_POR_DIG_LEN          (1U)
103 #define EF_CTRL_EF_IF_POR_DIG_MASK         (((1U << EF_CTRL_EF_IF_POR_DIG_LEN) - 1) << EF_CTRL_EF_IF_POR_DIG_POS)
104 #define EF_CTRL_EF_IF_POR_DIG_UMASK        (~(((1U << EF_CTRL_EF_IF_POR_DIG_LEN) - 1) << EF_CTRL_EF_IF_POR_DIG_POS))
105 #if defined(BL702) || defined(BL602) || defined(BL702L)
106 #define EF_CTRL_EF_CLK_SAHB_DATA_GATE       EF_CTRL_EF_CLK_SAHB_DATA_GATE
107 #define EF_CTRL_EF_CLK_SAHB_DATA_GATE_POS   (17U)
108 #define EF_CTRL_EF_CLK_SAHB_DATA_GATE_LEN   (1U)
109 #define EF_CTRL_EF_CLK_SAHB_DATA_GATE_MASK  (((1U << EF_CTRL_EF_CLK_SAHB_DATA_GATE_LEN) - 1) << EF_CTRL_EF_CLK_SAHB_DATA_GATE_POS)
110 #define EF_CTRL_EF_CLK_SAHB_DATA_GATE_UMASK (~(((1U << EF_CTRL_EF_CLK_SAHB_DATA_GATE_LEN) - 1) << EF_CTRL_EF_CLK_SAHB_DATA_GATE_POS))
111 #else
112 #define EF_CTRL_EF_PCLK_FORCE_ON       EF_CTRL_EF_PCLK_FORCE_ON
113 #define EF_CTRL_EF_PCLK_FORCE_ON_POS   (17U)
114 #define EF_CTRL_EF_PCLK_FORCE_ON_LEN   (1U)
115 #define EF_CTRL_EF_PCLK_FORCE_ON_MASK  (((1U << EF_CTRL_EF_PCLK_FORCE_ON_LEN) - 1) << EF_CTRL_EF_PCLK_FORCE_ON_POS)
116 #define EF_CTRL_EF_PCLK_FORCE_ON_UMASK (~(((1U << EF_CTRL_EF_PCLK_FORCE_ON_LEN) - 1) << EF_CTRL_EF_PCLK_FORCE_ON_POS))
117 #endif
118 #define EF_CTRL_EF_IF_AUTO_RD_EN            EF_CTRL_EF_IF_AUTO_RD_EN
119 #define EF_CTRL_EF_IF_AUTO_RD_EN_POS        (18U)
120 #define EF_CTRL_EF_IF_AUTO_RD_EN_LEN        (1U)
121 #define EF_CTRL_EF_IF_AUTO_RD_EN_MASK       (((1U << EF_CTRL_EF_IF_AUTO_RD_EN_LEN) - 1) << EF_CTRL_EF_IF_AUTO_RD_EN_POS)
122 #define EF_CTRL_EF_IF_AUTO_RD_EN_UMASK      (~(((1U << EF_CTRL_EF_IF_AUTO_RD_EN_LEN) - 1) << EF_CTRL_EF_IF_AUTO_RD_EN_POS))
123 #define EF_CTRL_EF_IF_CYC_MODIFY_LOCK       EF_CTRL_EF_IF_CYC_MODIFY_LOCK
124 #define EF_CTRL_EF_IF_CYC_MODIFY_LOCK_POS   (19U)
125 #define EF_CTRL_EF_IF_CYC_MODIFY_LOCK_LEN   (1U)
126 #define EF_CTRL_EF_IF_CYC_MODIFY_LOCK_MASK  (((1U << EF_CTRL_EF_IF_CYC_MODIFY_LOCK_LEN) - 1) << EF_CTRL_EF_IF_CYC_MODIFY_LOCK_POS)
127 #define EF_CTRL_EF_IF_CYC_MODIFY_LOCK_UMASK (~(((1U << EF_CTRL_EF_IF_CYC_MODIFY_LOCK_LEN) - 1) << EF_CTRL_EF_IF_CYC_MODIFY_LOCK_POS))
128 #define EF_CTRL_EF_IF_0_INT                 EF_CTRL_EF_IF_0_INT
129 #define EF_CTRL_EF_IF_0_INT_POS             (20U)
130 #define EF_CTRL_EF_IF_0_INT_LEN             (1U)
131 #define EF_CTRL_EF_IF_0_INT_MASK            (((1U << EF_CTRL_EF_IF_0_INT_LEN) - 1) << EF_CTRL_EF_IF_0_INT_POS)
132 #define EF_CTRL_EF_IF_0_INT_UMASK           (~(((1U << EF_CTRL_EF_IF_0_INT_LEN) - 1) << EF_CTRL_EF_IF_0_INT_POS))
133 #define EF_CTRL_EF_IF_0_INT_CLR             EF_CTRL_EF_IF_0_INT_CLR
134 #define EF_CTRL_EF_IF_0_INT_CLR_POS         (21U)
135 #define EF_CTRL_EF_IF_0_INT_CLR_LEN         (1U)
136 #define EF_CTRL_EF_IF_0_INT_CLR_MASK        (((1U << EF_CTRL_EF_IF_0_INT_CLR_LEN) - 1) << EF_CTRL_EF_IF_0_INT_CLR_POS)
137 #define EF_CTRL_EF_IF_0_INT_CLR_UMASK       (~(((1U << EF_CTRL_EF_IF_0_INT_CLR_LEN) - 1) << EF_CTRL_EF_IF_0_INT_CLR_POS))
138 #define EF_CTRL_EF_IF_0_INT_SET             EF_CTRL_EF_IF_0_INT_SET
139 #define EF_CTRL_EF_IF_0_INT_SET_POS         (22U)
140 #define EF_CTRL_EF_IF_0_INT_SET_LEN         (1U)
141 #define EF_CTRL_EF_IF_0_INT_SET_MASK        (((1U << EF_CTRL_EF_IF_0_INT_SET_LEN) - 1) << EF_CTRL_EF_IF_0_INT_SET_POS)
142 #define EF_CTRL_EF_IF_0_INT_SET_UMASK       (~(((1U << EF_CTRL_EF_IF_0_INT_SET_LEN) - 1) << EF_CTRL_EF_IF_0_INT_SET_POS))
143 #define EF_CTRL_EF_IF_PROT_CODE_CYC         EF_CTRL_EF_IF_PROT_CODE_CYC
144 #define EF_CTRL_EF_IF_PROT_CODE_CYC_POS     (24U)
145 #define EF_CTRL_EF_IF_PROT_CODE_CYC_LEN     (8U)
146 #define EF_CTRL_EF_IF_PROT_CODE_CYC_MASK    (((1U << EF_CTRL_EF_IF_PROT_CODE_CYC_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_CYC_POS)
147 #define EF_CTRL_EF_IF_PROT_CODE_CYC_UMASK   (~(((1U << EF_CTRL_EF_IF_PROT_CODE_CYC_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_CYC_POS))
148 
149 /* 0x80C : ef_if_0_manual, 606P and 808 manual config is the same but not need witch clock */
150 #if defined(BL702) || defined(BL602) || defined(BL702L) || defined(BL606P) || defined(BL808)
151 #define EF_CTRL_EF_IF_0_MANUAL_OFFSET        (0x80C)
152 #define EF_CTRL_EF_IF_A                      EF_CTRL_EF_IF_A
153 #define EF_CTRL_EF_IF_A_POS                  (0U)
154 #define EF_CTRL_EF_IF_A_LEN                  (10U)
155 #define EF_CTRL_EF_IF_A_MASK                 (((1U << EF_CTRL_EF_IF_A_LEN) - 1) << EF_CTRL_EF_IF_A_POS)
156 #define EF_CTRL_EF_IF_A_UMASK                (~(((1U << EF_CTRL_EF_IF_A_LEN) - 1) << EF_CTRL_EF_IF_A_POS))
157 #define EF_CTRL_EF_IF_PD                     EF_CTRL_EF_IF_PD
158 #define EF_CTRL_EF_IF_PD_POS                 (10U)
159 #define EF_CTRL_EF_IF_PD_LEN                 (1U)
160 #define EF_CTRL_EF_IF_PD_MASK                (((1U << EF_CTRL_EF_IF_PD_LEN) - 1) << EF_CTRL_EF_IF_PD_POS)
161 #define EF_CTRL_EF_IF_PD_UMASK               (~(((1U << EF_CTRL_EF_IF_PD_LEN) - 1) << EF_CTRL_EF_IF_PD_POS))
162 #define EF_CTRL_EF_IF_PS                     EF_CTRL_EF_IF_PS
163 #define EF_CTRL_EF_IF_PS_POS                 (11U)
164 #define EF_CTRL_EF_IF_PS_LEN                 (1U)
165 #define EF_CTRL_EF_IF_PS_MASK                (((1U << EF_CTRL_EF_IF_PS_LEN) - 1) << EF_CTRL_EF_IF_PS_POS)
166 #define EF_CTRL_EF_IF_PS_UMASK               (~(((1U << EF_CTRL_EF_IF_PS_LEN) - 1) << EF_CTRL_EF_IF_PS_POS))
167 #define EF_CTRL_EF_IF_STROBE                 EF_CTRL_EF_IF_STROBE
168 #define EF_CTRL_EF_IF_STROBE_POS             (12U)
169 #define EF_CTRL_EF_IF_STROBE_LEN             (1U)
170 #define EF_CTRL_EF_IF_STROBE_MASK            (((1U << EF_CTRL_EF_IF_STROBE_LEN) - 1) << EF_CTRL_EF_IF_STROBE_POS)
171 #define EF_CTRL_EF_IF_STROBE_UMASK           (~(((1U << EF_CTRL_EF_IF_STROBE_LEN) - 1) << EF_CTRL_EF_IF_STROBE_POS))
172 #define EF_CTRL_EF_IF_PGENB                  EF_CTRL_EF_IF_PGENB
173 #define EF_CTRL_EF_IF_PGENB_POS              (13U)
174 #define EF_CTRL_EF_IF_PGENB_LEN              (1U)
175 #define EF_CTRL_EF_IF_PGENB_MASK             (((1U << EF_CTRL_EF_IF_PGENB_LEN) - 1) << EF_CTRL_EF_IF_PGENB_POS)
176 #define EF_CTRL_EF_IF_PGENB_UMASK            (~(((1U << EF_CTRL_EF_IF_PGENB_LEN) - 1) << EF_CTRL_EF_IF_PGENB_POS))
177 #define EF_CTRL_EF_IF_LOAD                   EF_CTRL_EF_IF_LOAD
178 #define EF_CTRL_EF_IF_LOAD_POS               (14U)
179 #define EF_CTRL_EF_IF_LOAD_LEN               (1U)
180 #define EF_CTRL_EF_IF_LOAD_MASK              (((1U << EF_CTRL_EF_IF_LOAD_LEN) - 1) << EF_CTRL_EF_IF_LOAD_POS)
181 #define EF_CTRL_EF_IF_LOAD_UMASK             (~(((1U << EF_CTRL_EF_IF_LOAD_LEN) - 1) << EF_CTRL_EF_IF_LOAD_POS))
182 #define EF_CTRL_EF_IF_CSB                    EF_CTRL_EF_IF_CSB
183 #define EF_CTRL_EF_IF_CSB_POS                (15U)
184 #define EF_CTRL_EF_IF_CSB_LEN                (1U)
185 #define EF_CTRL_EF_IF_CSB_MASK               (((1U << EF_CTRL_EF_IF_CSB_LEN) - 1) << EF_CTRL_EF_IF_CSB_POS)
186 #define EF_CTRL_EF_IF_CSB_UMASK              (~(((1U << EF_CTRL_EF_IF_CSB_LEN) - 1) << EF_CTRL_EF_IF_CSB_POS))
187 #define EF_CTRL_EF_IF_0_Q                    EF_CTRL_EF_IF_0_Q
188 #define EF_CTRL_EF_IF_0_Q_POS                (16U)
189 #define EF_CTRL_EF_IF_0_Q_LEN                (8U)
190 #define EF_CTRL_EF_IF_0_Q_MASK               (((1U << EF_CTRL_EF_IF_0_Q_LEN) - 1) << EF_CTRL_EF_IF_0_Q_POS)
191 #define EF_CTRL_EF_IF_0_Q_UMASK              (~(((1U << EF_CTRL_EF_IF_0_Q_LEN) - 1) << EF_CTRL_EF_IF_0_Q_POS))
192 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL       EF_CTRL_EF_IF_PROT_CODE_MANUAL
193 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_POS   (24U)
194 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_LEN   (8U)
195 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_MASK  (((1U << EF_CTRL_EF_IF_PROT_CODE_MANUAL_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_MANUAL_POS)
196 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_UMASK (~(((1U << EF_CTRL_EF_IF_PROT_CODE_MANUAL_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_MANUAL_POS))
197 #else
198 /* 0x80C : ef_if_0_manual_0 */
199 #define EF_CTRL_EF_IF_0_MANUAL_0_OFFSET      (0x80C)
200 #define EF_CTRL_EF_IF_A                      EF_CTRL_EF_IF_A
201 #define EF_CTRL_EF_IF_A_POS                  (0U)
202 #define EF_CTRL_EF_IF_A_LEN                  (12U)
203 #define EF_CTRL_EF_IF_A_MASK                 (((1U << EF_CTRL_EF_IF_A_LEN) - 1) << EF_CTRL_EF_IF_A_POS)
204 #define EF_CTRL_EF_IF_A_UMASK                (~(((1U << EF_CTRL_EF_IF_A_LEN) - 1) << EF_CTRL_EF_IF_A_POS))
205 #define EF_CTRL_EF_IF_PD                     EF_CTRL_EF_IF_PD
206 #define EF_CTRL_EF_IF_PD_POS                 (18U)
207 #define EF_CTRL_EF_IF_PD_LEN                 (1U)
208 #define EF_CTRL_EF_IF_PD_MASK                (((1U << EF_CTRL_EF_IF_PD_LEN) - 1) << EF_CTRL_EF_IF_PD_POS)
209 #define EF_CTRL_EF_IF_PD_UMASK               (~(((1U << EF_CTRL_EF_IF_PD_LEN) - 1) << EF_CTRL_EF_IF_PD_POS))
210 #define EF_CTRL_EF_IF_PS                     EF_CTRL_EF_IF_PS
211 #define EF_CTRL_EF_IF_PS_POS                 (19U)
212 #define EF_CTRL_EF_IF_PS_LEN                 (1U)
213 #define EF_CTRL_EF_IF_PS_MASK                (((1U << EF_CTRL_EF_IF_PS_LEN) - 1) << EF_CTRL_EF_IF_PS_POS)
214 #define EF_CTRL_EF_IF_PS_UMASK               (~(((1U << EF_CTRL_EF_IF_PS_LEN) - 1) << EF_CTRL_EF_IF_PS_POS))
215 #define EF_CTRL_EF_IF_STROBE                 EF_CTRL_EF_IF_STROBE
216 #define EF_CTRL_EF_IF_STROBE_POS             (20U)
217 #define EF_CTRL_EF_IF_STROBE_LEN             (1U)
218 #define EF_CTRL_EF_IF_STROBE_MASK            (((1U << EF_CTRL_EF_IF_STROBE_LEN) - 1) << EF_CTRL_EF_IF_STROBE_POS)
219 #define EF_CTRL_EF_IF_STROBE_UMASK           (~(((1U << EF_CTRL_EF_IF_STROBE_LEN) - 1) << EF_CTRL_EF_IF_STROBE_POS))
220 #define EF_CTRL_EF_IF_PGENB                  EF_CTRL_EF_IF_PGENB
221 #define EF_CTRL_EF_IF_PGENB_POS              (21U)
222 #define EF_CTRL_EF_IF_PGENB_LEN              (1U)
223 #define EF_CTRL_EF_IF_PGENB_MASK             (((1U << EF_CTRL_EF_IF_PGENB_LEN) - 1) << EF_CTRL_EF_IF_PGENB_POS)
224 #define EF_CTRL_EF_IF_PGENB_UMASK            (~(((1U << EF_CTRL_EF_IF_PGENB_LEN) - 1) << EF_CTRL_EF_IF_PGENB_POS))
225 #define EF_CTRL_EF_IF_LOAD                   EF_CTRL_EF_IF_LOAD
226 #define EF_CTRL_EF_IF_LOAD_POS               (22U)
227 #define EF_CTRL_EF_IF_LOAD_LEN               (1U)
228 #define EF_CTRL_EF_IF_LOAD_MASK              (((1U << EF_CTRL_EF_IF_LOAD_LEN) - 1) << EF_CTRL_EF_IF_LOAD_POS)
229 #define EF_CTRL_EF_IF_LOAD_UMASK             (~(((1U << EF_CTRL_EF_IF_LOAD_LEN) - 1) << EF_CTRL_EF_IF_LOAD_POS))
230 #define EF_CTRL_EF_IF_CSB                    EF_CTRL_EF_IF_CSB
231 #define EF_CTRL_EF_IF_CSB_POS                (23U)
232 #define EF_CTRL_EF_IF_CSB_LEN                (1U)
233 #define EF_CTRL_EF_IF_CSB_MASK               (((1U << EF_CTRL_EF_IF_CSB_LEN) - 1) << EF_CTRL_EF_IF_CSB_POS)
234 #define EF_CTRL_EF_IF_CSB_UMASK              (~(((1U << EF_CTRL_EF_IF_CSB_LEN) - 1) << EF_CTRL_EF_IF_CSB_POS))
235 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL       EF_CTRL_EF_IF_PROT_CODE_MANUAL
236 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_POS   (24U)
237 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_LEN   (8U)
238 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_MASK  (((1U << EF_CTRL_EF_IF_PROT_CODE_MANUAL_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_MANUAL_POS)
239 #define EF_CTRL_EF_IF_PROT_CODE_MANUAL_UMASK (~(((1U << EF_CTRL_EF_IF_PROT_CODE_MANUAL_LEN) - 1) << EF_CTRL_EF_IF_PROT_CODE_MANUAL_POS))
240 #endif
241 
242 #if defined(BL606P) || defined(BL808)
243 /* 0x900 : ef_if_ctrl_1 */
244 #define EF_CTRL_EF_IF_CTRL_1_OFFSET      (0x900)
245 #define EF_CTRL_EF_IF_1_BUSY             EF_CTRL_EF_IF_1_BUSY
246 #define EF_CTRL_EF_IF_1_BUSY_POS         (2U)
247 #define EF_CTRL_EF_IF_1_BUSY_LEN         (1U)
248 #define EF_CTRL_EF_IF_1_BUSY_MASK        (((1U << EF_CTRL_EF_IF_1_BUSY_LEN) - 1) << EF_CTRL_EF_IF_1_BUSY_POS)
249 #define EF_CTRL_EF_IF_1_BUSY_UMASK       (~(((1U << EF_CTRL_EF_IF_1_BUSY_LEN) - 1) << EF_CTRL_EF_IF_1_BUSY_POS))
250 #define EF_CTRL_EF_IF_1_RW               EF_CTRL_EF_IF_1_RW
251 #define EF_CTRL_EF_IF_1_RW_POS           (3U)
252 #define EF_CTRL_EF_IF_1_RW_LEN           (1U)
253 #define EF_CTRL_EF_IF_1_RW_MASK          (((1U << EF_CTRL_EF_IF_1_RW_LEN) - 1) << EF_CTRL_EF_IF_1_RW_POS)
254 #define EF_CTRL_EF_IF_1_RW_UMASK         (~(((1U << EF_CTRL_EF_IF_1_RW_LEN) - 1) << EF_CTRL_EF_IF_1_RW_POS))
255 #define EF_CTRL_EF_IF_1_TRIG             EF_CTRL_EF_IF_1_TRIG
256 #define EF_CTRL_EF_IF_1_TRIG_POS         (4U)
257 #define EF_CTRL_EF_IF_1_TRIG_LEN         (1U)
258 #define EF_CTRL_EF_IF_1_TRIG_MASK        (((1U << EF_CTRL_EF_IF_1_TRIG_LEN) - 1) << EF_CTRL_EF_IF_1_TRIG_POS)
259 #define EF_CTRL_EF_IF_1_TRIG_UMASK       (~(((1U << EF_CTRL_EF_IF_1_TRIG_LEN) - 1) << EF_CTRL_EF_IF_1_TRIG_POS))
260 #define EF_CTRL_EF_IF_1_MANUAL_EN        EF_CTRL_EF_IF_1_MANUAL_EN
261 #define EF_CTRL_EF_IF_1_MANUAL_EN_POS    (5U)
262 #define EF_CTRL_EF_IF_1_MANUAL_EN_LEN    (1U)
263 #define EF_CTRL_EF_IF_1_MANUAL_EN_MASK   (((1U << EF_CTRL_EF_IF_1_MANUAL_EN_LEN) - 1) << EF_CTRL_EF_IF_1_MANUAL_EN_POS)
264 #define EF_CTRL_EF_IF_1_MANUAL_EN_UMASK  (~(((1U << EF_CTRL_EF_IF_1_MANUAL_EN_LEN) - 1) << EF_CTRL_EF_IF_1_MANUAL_EN_POS))
265 #define EF_CTRL_EF_IF_1_CYC_MODIFY       EF_CTRL_EF_IF_1_CYC_MODIFY
266 #define EF_CTRL_EF_IF_1_CYC_MODIFY_POS   (6U)
267 #define EF_CTRL_EF_IF_1_CYC_MODIFY_LEN   (1U)
268 #define EF_CTRL_EF_IF_1_CYC_MODIFY_MASK  (((1U << EF_CTRL_EF_IF_1_CYC_MODIFY_LEN) - 1) << EF_CTRL_EF_IF_1_CYC_MODIFY_POS)
269 #define EF_CTRL_EF_IF_1_CYC_MODIFY_UMASK (~(((1U << EF_CTRL_EF_IF_1_CYC_MODIFY_LEN) - 1) << EF_CTRL_EF_IF_1_CYC_MODIFY_POS))
270 #define EF_CTRL_EF_IF_1_INT              EF_CTRL_EF_IF_1_INT
271 #define EF_CTRL_EF_IF_1_INT_POS          (20U)
272 #define EF_CTRL_EF_IF_1_INT_LEN          (1U)
273 #define EF_CTRL_EF_IF_1_INT_MASK         (((1U << EF_CTRL_EF_IF_1_INT_LEN) - 1) << EF_CTRL_EF_IF_1_INT_POS)
274 #define EF_CTRL_EF_IF_1_INT_UMASK        (~(((1U << EF_CTRL_EF_IF_1_INT_LEN) - 1) << EF_CTRL_EF_IF_1_INT_POS))
275 #define EF_CTRL_EF_IF_1_INT_CLR          EF_CTRL_EF_IF_1_INT_CLR
276 #define EF_CTRL_EF_IF_1_INT_CLR_POS      (21U)
277 #define EF_CTRL_EF_IF_1_INT_CLR_LEN      (1U)
278 #define EF_CTRL_EF_IF_1_INT_CLR_MASK     (((1U << EF_CTRL_EF_IF_1_INT_CLR_LEN) - 1) << EF_CTRL_EF_IF_1_INT_CLR_POS)
279 #define EF_CTRL_EF_IF_1_INT_CLR_UMASK    (~(((1U << EF_CTRL_EF_IF_1_INT_CLR_LEN) - 1) << EF_CTRL_EF_IF_1_INT_CLR_POS))
280 #define EF_CTRL_EF_IF_1_INT_SET          EF_CTRL_EF_IF_1_INT_SET
281 #define EF_CTRL_EF_IF_1_INT_SET_POS      (22U)
282 #define EF_CTRL_EF_IF_1_INT_SET_LEN      (1U)
283 #define EF_CTRL_EF_IF_1_INT_SET_MASK     (((1U << EF_CTRL_EF_IF_1_INT_SET_LEN) - 1) << EF_CTRL_EF_IF_1_INT_SET_POS)
284 #define EF_CTRL_EF_IF_1_INT_SET_UMASK    (~(((1U << EF_CTRL_EF_IF_1_INT_SET_LEN) - 1) << EF_CTRL_EF_IF_1_INT_SET_POS))
285 
286 /* 0x904 : ef_if_1_manual */
287 #define EF_CTRL_EF_IF_1_MANUAL_OFFSET (0x904)
288 #define EF_CTRL_EF_IF_1_Q             EF_CTRL_EF_IF_1_Q
289 #define EF_CTRL_EF_IF_1_Q_POS         (16U)
290 #define EF_CTRL_EF_IF_1_Q_LEN         (8U)
291 #define EF_CTRL_EF_IF_1_Q_MASK        (((1U << EF_CTRL_EF_IF_1_Q_LEN) - 1) << EF_CTRL_EF_IF_1_Q_POS)
292 #define EF_CTRL_EF_IF_1_Q_UMASK       (~(((1U << EF_CTRL_EF_IF_1_Q_LEN) - 1) << EF_CTRL_EF_IF_1_Q_POS))
293 
294 /* 0x908 : ef_if_1_status */
295 #define EF_CTRL_EF_IF_1_STATUS_OFFSET (0x908)
296 #define EF_CTRL_EF_IF_1_STATUS        EF_CTRL_EF_IF_1_STATUS
297 #define EF_CTRL_EF_IF_1_STATUS_POS    (0U)
298 #define EF_CTRL_EF_IF_1_STATUS_LEN    (32U)
299 #define EF_CTRL_EF_IF_1_STATUS_MASK   (((1U << EF_CTRL_EF_IF_1_STATUS_LEN) - 1) << EF_CTRL_EF_IF_1_STATUS_POS)
300 #define EF_CTRL_EF_IF_1_STATUS_UMASK  (~(((1U << EF_CTRL_EF_IF_1_STATUS_LEN) - 1) << EF_CTRL_EF_IF_1_STATUS_POS))
301 #endif
302 
303 #endif /* __HARDWARE_EF_CTRL_H__ */
304