xref: /wlan-driver/fw-api/hw/qcn9000/msmhwiobase.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2019, The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
5*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
6*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
7*5113495bSYour Name  *
8*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*5113495bSYour Name  */
16*5113495bSYour Name 
17*5113495bSYour Name #ifndef __MSMHWIOBASE_H__
18*5113495bSYour Name #define __MSMHWIOBASE_H__
19*5113495bSYour Name /*
20*5113495bSYour Name ===========================================================================
21*5113495bSYour Name */
22*5113495bSYour Name /**
23*5113495bSYour Name   @file msmhwiobase.h
24*5113495bSYour Name   @brief Auto-generated HWIO base include file.
25*5113495bSYour Name */
26*5113495bSYour Name /*
27*5113495bSYour Name   ===========================================================================
28*5113495bSYour Name */
29*5113495bSYour Name 
30*5113495bSYour Name /*----------------------------------------------------------------------------
31*5113495bSYour Name  * BASE: WCSS_WCSS
32*5113495bSYour Name  *--------------------------------------------------------------------------*/
33*5113495bSYour Name 
34*5113495bSYour Name #define WCSS_WCSS_BASE                                              0x00000000
35*5113495bSYour Name #define WCSS_WCSS_BASE_SIZE                                         0x01000000
36*5113495bSYour Name #define WCSS_WCSS_BASE_PHYS                                         0x00000000
37*5113495bSYour Name 
38*5113495bSYour Name /*----------------------------------------------------------------------------
39*5113495bSYour Name  * BASE: BOOT_ROM_SIZE
40*5113495bSYour Name  *--------------------------------------------------------------------------*/
41*5113495bSYour Name 
42*5113495bSYour Name #define BOOT_ROM_SIZE_BASE                                          0x00100000
43*5113495bSYour Name #define BOOT_ROM_SIZE_BASE_SIZE                                     0x100000000
44*5113495bSYour Name #define BOOT_ROM_SIZE_BASE_PHYS                                     0x00100000
45*5113495bSYour Name 
46*5113495bSYour Name /*----------------------------------------------------------------------------
47*5113495bSYour Name  * BASE: QDSS_STM_SIZE
48*5113495bSYour Name  *--------------------------------------------------------------------------*/
49*5113495bSYour Name 
50*5113495bSYour Name #define QDSS_STM_SIZE_BASE                                          0x00100000
51*5113495bSYour Name #define QDSS_STM_SIZE_BASE_SIZE                                     0x100000000
52*5113495bSYour Name #define QDSS_STM_SIZE_BASE_PHYS                                     0x00100000
53*5113495bSYour Name 
54*5113495bSYour Name /*----------------------------------------------------------------------------
55*5113495bSYour Name  * BASE: SYSTEM_IRAM_SIZE
56*5113495bSYour Name  *--------------------------------------------------------------------------*/
57*5113495bSYour Name 
58*5113495bSYour Name #define SYSTEM_IRAM_SIZE_BASE                                       0x00400000
59*5113495bSYour Name #define SYSTEM_IRAM_SIZE_BASE_SIZE                                  0x100000000
60*5113495bSYour Name #define SYSTEM_IRAM_SIZE_BASE_PHYS                                  0x00400000
61*5113495bSYour Name 
62*5113495bSYour Name /*----------------------------------------------------------------------------
63*5113495bSYour Name  * BASE: BOOT_ROM_START_ADDRESS
64*5113495bSYour Name  *--------------------------------------------------------------------------*/
65*5113495bSYour Name 
66*5113495bSYour Name #define BOOT_ROM_START_ADDRESS_BASE                                 0x00800000
67*5113495bSYour Name #define BOOT_ROM_START_ADDRESS_BASE_SIZE                            0x100000000
68*5113495bSYour Name #define BOOT_ROM_START_ADDRESS_BASE_PHYS                            0x00800000
69*5113495bSYour Name 
70*5113495bSYour Name /*----------------------------------------------------------------------------
71*5113495bSYour Name  * BASE: BOOT_ROM_END_ADDRESS
72*5113495bSYour Name  *--------------------------------------------------------------------------*/
73*5113495bSYour Name 
74*5113495bSYour Name #define BOOT_ROM_END_ADDRESS_BASE                                   0x008fffff
75*5113495bSYour Name #define BOOT_ROM_END_ADDRESS_BASE_SIZE                              0x100000000
76*5113495bSYour Name #define BOOT_ROM_END_ADDRESS_BASE_PHYS                              0x008fffff
77*5113495bSYour Name 
78*5113495bSYour Name /*----------------------------------------------------------------------------
79*5113495bSYour Name  * BASE: QDSS_STM
80*5113495bSYour Name  *--------------------------------------------------------------------------*/
81*5113495bSYour Name 
82*5113495bSYour Name #define QDSS_STM_BASE                                               0x00900000
83*5113495bSYour Name #define QDSS_STM_BASE_SIZE                                          0x100000000
84*5113495bSYour Name #define QDSS_STM_BASE_PHYS                                          0x00900000
85*5113495bSYour Name 
86*5113495bSYour Name /*----------------------------------------------------------------------------
87*5113495bSYour Name  * BASE: QDSS_STM_END
88*5113495bSYour Name  *--------------------------------------------------------------------------*/
89*5113495bSYour Name 
90*5113495bSYour Name #define QDSS_STM_END_BASE                                           0x009fffff
91*5113495bSYour Name #define QDSS_STM_END_BASE_SIZE                                      0x100000000
92*5113495bSYour Name #define QDSS_STM_END_BASE_PHYS                                      0x009fffff
93*5113495bSYour Name 
94*5113495bSYour Name /*----------------------------------------------------------------------------
95*5113495bSYour Name  * BASE: SYSTEM_IRAM_START_ADDRESS
96*5113495bSYour Name  *--------------------------------------------------------------------------*/
97*5113495bSYour Name 
98*5113495bSYour Name #define SYSTEM_IRAM_START_ADDRESS_BASE                              0x01400000
99*5113495bSYour Name #define SYSTEM_IRAM_START_ADDRESS_BASE_SIZE                         0x100000000
100*5113495bSYour Name #define SYSTEM_IRAM_START_ADDRESS_BASE_PHYS                         0x01400000
101*5113495bSYour Name 
102*5113495bSYour Name /*----------------------------------------------------------------------------
103*5113495bSYour Name  * BASE: SYSTEM_IRAM_END_ADDRESS
104*5113495bSYour Name  *--------------------------------------------------------------------------*/
105*5113495bSYour Name 
106*5113495bSYour Name #define SYSTEM_IRAM_END_ADDRESS_BASE                                0x017fffff
107*5113495bSYour Name #define SYSTEM_IRAM_END_ADDRESS_BASE_SIZE                           0x100000000
108*5113495bSYour Name #define SYSTEM_IRAM_END_ADDRESS_BASE_PHYS                           0x017fffff
109*5113495bSYour Name 
110*5113495bSYour Name /*----------------------------------------------------------------------------
111*5113495bSYour Name  * BASE: TLMM
112*5113495bSYour Name  *--------------------------------------------------------------------------*/
113*5113495bSYour Name 
114*5113495bSYour Name #define TLMM_BASE                                                   0x01800000
115*5113495bSYour Name #define TLMM_BASE_SIZE                                              0x00300000
116*5113495bSYour Name #define TLMM_BASE_PHYS                                              0x01800000
117*5113495bSYour Name 
118*5113495bSYour Name /*----------------------------------------------------------------------------
119*5113495bSYour Name  * BASE: CORE_TOP_CSR
120*5113495bSYour Name  *--------------------------------------------------------------------------*/
121*5113495bSYour Name 
122*5113495bSYour Name #define CORE_TOP_CSR_BASE                                           0x01b00000
123*5113495bSYour Name #define CORE_TOP_CSR_BASE_SIZE                                      0x00040000
124*5113495bSYour Name #define CORE_TOP_CSR_BASE_PHYS                                      0x01b00000
125*5113495bSYour Name 
126*5113495bSYour Name /*----------------------------------------------------------------------------
127*5113495bSYour Name  * BASE: BLSP1_BLSP
128*5113495bSYour Name  *--------------------------------------------------------------------------*/
129*5113495bSYour Name 
130*5113495bSYour Name #define BLSP1_BLSP_BASE                                             0x01b40000
131*5113495bSYour Name #define BLSP1_BLSP_BASE_SIZE                                        0x00040000
132*5113495bSYour Name #define BLSP1_BLSP_BASE_PHYS                                        0x01b40000
133*5113495bSYour Name 
134*5113495bSYour Name /*----------------------------------------------------------------------------
135*5113495bSYour Name  * BASE: MEMSS_CSR
136*5113495bSYour Name  *--------------------------------------------------------------------------*/
137*5113495bSYour Name 
138*5113495bSYour Name #define MEMSS_CSR_BASE                                              0x01bc0000
139*5113495bSYour Name #define MEMSS_CSR_BASE_SIZE                                         0x0000001c
140*5113495bSYour Name #define MEMSS_CSR_BASE_PHYS                                         0x01bc0000
141*5113495bSYour Name 
142*5113495bSYour Name /*----------------------------------------------------------------------------
143*5113495bSYour Name  * BASE: TSENS_SROT
144*5113495bSYour Name  *--------------------------------------------------------------------------*/
145*5113495bSYour Name 
146*5113495bSYour Name #define TSENS_SROT_BASE                                             0x01bf0000
147*5113495bSYour Name #define TSENS_SROT_BASE_SIZE                                        0x00001000
148*5113495bSYour Name #define TSENS_SROT_BASE_PHYS                                        0x01bf0000
149*5113495bSYour Name 
150*5113495bSYour Name /*----------------------------------------------------------------------------
151*5113495bSYour Name  * BASE: TSENS_TM
152*5113495bSYour Name  *--------------------------------------------------------------------------*/
153*5113495bSYour Name 
154*5113495bSYour Name #define TSENS_TM_BASE                                               0x01bf1000
155*5113495bSYour Name #define TSENS_TM_BASE_SIZE                                          0x00001000
156*5113495bSYour Name #define TSENS_TM_BASE_PHYS                                          0x01bf1000
157*5113495bSYour Name 
158*5113495bSYour Name /*----------------------------------------------------------------------------
159*5113495bSYour Name  * BASE: QDSS_APB_DEC_QDSS_APB
160*5113495bSYour Name  *--------------------------------------------------------------------------*/
161*5113495bSYour Name 
162*5113495bSYour Name #define QDSS_APB_DEC_QDSS_APB_BASE                                  0x01c00000
163*5113495bSYour Name #define QDSS_APB_DEC_QDSS_APB_BASE_SIZE                             0x00080000
164*5113495bSYour Name #define QDSS_APB_DEC_QDSS_APB_BASE_PHYS                             0x01c00000
165*5113495bSYour Name 
166*5113495bSYour Name /*----------------------------------------------------------------------------
167*5113495bSYour Name  * BASE: QDSS_APB_WCSS_DBG_DEC_QDSS_APB_WCSSDBG
168*5113495bSYour Name  *--------------------------------------------------------------------------*/
169*5113495bSYour Name 
170*5113495bSYour Name #define QDSS_APB_WCSS_DBG_DEC_QDSS_APB_WCSSDBG_BASE                 0x01c80000
171*5113495bSYour Name #define QDSS_APB_WCSS_DBG_DEC_QDSS_APB_WCSSDBG_BASE_SIZE            0x00080000
172*5113495bSYour Name #define QDSS_APB_WCSS_DBG_DEC_QDSS_APB_WCSSDBG_BASE_PHYS            0x01c80000
173*5113495bSYour Name 
174*5113495bSYour Name /*----------------------------------------------------------------------------
175*5113495bSYour Name  * BASE: QDSS_WRAPPER_TOP
176*5113495bSYour Name  *--------------------------------------------------------------------------*/
177*5113495bSYour Name 
178*5113495bSYour Name #define QDSS_WRAPPER_TOP_BASE                                       0x01d00000
179*5113495bSYour Name #define QDSS_WRAPPER_TOP_BASE_SIZE                                  0x0007fffd
180*5113495bSYour Name #define QDSS_WRAPPER_TOP_BASE_PHYS                                  0x01d00000
181*5113495bSYour Name 
182*5113495bSYour Name /*----------------------------------------------------------------------------
183*5113495bSYour Name  * BASE: PCIE_PCIE_TOP_WRAPPER
184*5113495bSYour Name  *--------------------------------------------------------------------------*/
185*5113495bSYour Name 
186*5113495bSYour Name #define PCIE_PCIE_TOP_WRAPPER_BASE                                  0x01e00000
187*5113495bSYour Name #define PCIE_PCIE_TOP_WRAPPER_BASE_SIZE                             0x00020000
188*5113495bSYour Name #define PCIE_PCIE_TOP_WRAPPER_BASE_PHYS                             0x01e00000
189*5113495bSYour Name 
190*5113495bSYour Name /*----------------------------------------------------------------------------
191*5113495bSYour Name  * BASE: SECURITY_CONTROL_WLAN
192*5113495bSYour Name  *--------------------------------------------------------------------------*/
193*5113495bSYour Name 
194*5113495bSYour Name #define SECURITY_CONTROL_WLAN_BASE                                  0x01e20000
195*5113495bSYour Name #define SECURITY_CONTROL_WLAN_BASE_SIZE                             0x00008000
196*5113495bSYour Name #define SECURITY_CONTROL_WLAN_BASE_PHYS                             0x01e20000
197*5113495bSYour Name 
198*5113495bSYour Name /*----------------------------------------------------------------------------
199*5113495bSYour Name  * BASE: CPR_CX_CPR3
200*5113495bSYour Name  *--------------------------------------------------------------------------*/
201*5113495bSYour Name 
202*5113495bSYour Name #define CPR_CX_CPR3_BASE                                            0x01e30000
203*5113495bSYour Name #define CPR_CX_CPR3_BASE_SIZE                                       0x00004000
204*5113495bSYour Name #define CPR_CX_CPR3_BASE_PHYS                                       0x01e30000
205*5113495bSYour Name 
206*5113495bSYour Name /*----------------------------------------------------------------------------
207*5113495bSYour Name  * BASE: CPR_MX_CPR3
208*5113495bSYour Name  *--------------------------------------------------------------------------*/
209*5113495bSYour Name 
210*5113495bSYour Name #define CPR_MX_CPR3_BASE                                            0x01e34000
211*5113495bSYour Name #define CPR_MX_CPR3_BASE_SIZE                                       0x00004000
212*5113495bSYour Name #define CPR_MX_CPR3_BASE_PHYS                                       0x01e34000
213*5113495bSYour Name 
214*5113495bSYour Name /*----------------------------------------------------------------------------
215*5113495bSYour Name  * BASE: GCC_GCC
216*5113495bSYour Name  *--------------------------------------------------------------------------*/
217*5113495bSYour Name 
218*5113495bSYour Name #define GCC_GCC_BASE                                                0x01e40000
219*5113495bSYour Name #define GCC_GCC_BASE_SIZE                                           0x00001000
220*5113495bSYour Name #define GCC_GCC_BASE_PHYS                                           0x01e40000
221*5113495bSYour Name 
222*5113495bSYour Name /*----------------------------------------------------------------------------
223*5113495bSYour Name  * BASE: PRNG_PRNG_TOP
224*5113495bSYour Name  *--------------------------------------------------------------------------*/
225*5113495bSYour Name 
226*5113495bSYour Name #define PRNG_PRNG_TOP_BASE                                          0x01e50000
227*5113495bSYour Name #define PRNG_PRNG_TOP_BASE_SIZE                                     0x00010000
228*5113495bSYour Name #define PRNG_PRNG_TOP_BASE_PHYS                                     0x01e50000
229*5113495bSYour Name 
230*5113495bSYour Name /*----------------------------------------------------------------------------
231*5113495bSYour Name  * BASE: PCNOC_0_BUS_TIMEOUT
232*5113495bSYour Name  *--------------------------------------------------------------------------*/
233*5113495bSYour Name 
234*5113495bSYour Name #define PCNOC_0_BUS_TIMEOUT_BASE                                    0x01e60000
235*5113495bSYour Name #define PCNOC_0_BUS_TIMEOUT_BASE_SIZE                               0x00001000
236*5113495bSYour Name #define PCNOC_0_BUS_TIMEOUT_BASE_PHYS                               0x01e60000
237*5113495bSYour Name 
238*5113495bSYour Name /*----------------------------------------------------------------------------
239*5113495bSYour Name  * BASE: PCNOC_1_BUS_TIMEOUT
240*5113495bSYour Name  *--------------------------------------------------------------------------*/
241*5113495bSYour Name 
242*5113495bSYour Name #define PCNOC_1_BUS_TIMEOUT_BASE                                    0x01e61000
243*5113495bSYour Name #define PCNOC_1_BUS_TIMEOUT_BASE_SIZE                               0x00001000
244*5113495bSYour Name #define PCNOC_1_BUS_TIMEOUT_BASE_PHYS                               0x01e61000
245*5113495bSYour Name 
246*5113495bSYour Name /*----------------------------------------------------------------------------
247*5113495bSYour Name  * BASE: PCNOC_2_BUS_TIMEOUT
248*5113495bSYour Name  *--------------------------------------------------------------------------*/
249*5113495bSYour Name 
250*5113495bSYour Name #define PCNOC_2_BUS_TIMEOUT_BASE                                    0x01e62000
251*5113495bSYour Name #define PCNOC_2_BUS_TIMEOUT_BASE_SIZE                               0x00001000
252*5113495bSYour Name #define PCNOC_2_BUS_TIMEOUT_BASE_PHYS                               0x01e62000
253*5113495bSYour Name 
254*5113495bSYour Name /*----------------------------------------------------------------------------
255*5113495bSYour Name  * BASE: PCNOC_3_BUS_TIMEOUT
256*5113495bSYour Name  *--------------------------------------------------------------------------*/
257*5113495bSYour Name 
258*5113495bSYour Name #define PCNOC_3_BUS_TIMEOUT_BASE                                    0x01e63000
259*5113495bSYour Name #define PCNOC_3_BUS_TIMEOUT_BASE_SIZE                               0x00001000
260*5113495bSYour Name #define PCNOC_3_BUS_TIMEOUT_BASE_PHYS                               0x01e63000
261*5113495bSYour Name 
262*5113495bSYour Name /*----------------------------------------------------------------------------
263*5113495bSYour Name  * BASE: SYSTEM_NOC
264*5113495bSYour Name  *--------------------------------------------------------------------------*/
265*5113495bSYour Name 
266*5113495bSYour Name #define SYSTEM_NOC_BASE                                             0x01e80000
267*5113495bSYour Name #define SYSTEM_NOC_BASE_SIZE                                        0x00003280
268*5113495bSYour Name #define SYSTEM_NOC_BASE_PHYS                                        0x01e80000
269*5113495bSYour Name 
270*5113495bSYour Name /*----------------------------------------------------------------------------
271*5113495bSYour Name  * BASE: PC_NOC
272*5113495bSYour Name  *--------------------------------------------------------------------------*/
273*5113495bSYour Name 
274*5113495bSYour Name #define PC_NOC_BASE                                                 0x01f00000
275*5113495bSYour Name #define PC_NOC_BASE_SIZE                                            0x00001180
276*5113495bSYour Name #define PC_NOC_BASE_PHYS                                            0x01f00000
277*5113495bSYour Name 
278*5113495bSYour Name /*----------------------------------------------------------------------------
279*5113495bSYour Name  * BASE: WLAON_WL_AON_REG
280*5113495bSYour Name  *--------------------------------------------------------------------------*/
281*5113495bSYour Name 
282*5113495bSYour Name #define WLAON_WL_AON_REG_BASE                                       0x01f80000
283*5113495bSYour Name #define WLAON_WL_AON_REG_BASE_SIZE                                  0x00000704
284*5113495bSYour Name #define WLAON_WL_AON_REG_BASE_PHYS                                  0x01f80000
285*5113495bSYour Name 
286*5113495bSYour Name /*----------------------------------------------------------------------------
287*5113495bSYour Name  * BASE: SYSPM_SYSPM_REG
288*5113495bSYour Name  *--------------------------------------------------------------------------*/
289*5113495bSYour Name 
290*5113495bSYour Name #define SYSPM_SYSPM_REG_BASE                                        0x01f82000
291*5113495bSYour Name #define SYSPM_SYSPM_REG_BASE_SIZE                                   0x00001000
292*5113495bSYour Name #define SYSPM_SYSPM_REG_BASE_PHYS                                   0x01f82000
293*5113495bSYour Name 
294*5113495bSYour Name /*----------------------------------------------------------------------------
295*5113495bSYour Name  * BASE: PMU_WLAN_PMU
296*5113495bSYour Name  *--------------------------------------------------------------------------*/
297*5113495bSYour Name 
298*5113495bSYour Name #define PMU_WLAN_PMU_BASE                                           0x01f88000
299*5113495bSYour Name #define PMU_WLAN_PMU_BASE_SIZE                                      0x00000338
300*5113495bSYour Name #define PMU_WLAN_PMU_BASE_PHYS                                      0x01f88000
301*5113495bSYour Name 
302*5113495bSYour Name /*----------------------------------------------------------------------------
303*5113495bSYour Name  * BASE: PMU_NOC
304*5113495bSYour Name  *--------------------------------------------------------------------------*/
305*5113495bSYour Name 
306*5113495bSYour Name #define PMU_NOC_BASE                                                0x01f8a000
307*5113495bSYour Name #define PMU_NOC_BASE_SIZE                                           0x00000080
308*5113495bSYour Name #define PMU_NOC_BASE_PHYS                                           0x01f8a000
309*5113495bSYour Name 
310*5113495bSYour Name /*----------------------------------------------------------------------------
311*5113495bSYour Name  * BASE: PCIE_ATU_REGION
312*5113495bSYour Name  *--------------------------------------------------------------------------*/
313*5113495bSYour Name 
314*5113495bSYour Name #define PCIE_ATU_REGION_BASE                                        0x04000000
315*5113495bSYour Name #define PCIE_ATU_REGION_BASE_SIZE                                   0x100000000
316*5113495bSYour Name #define PCIE_ATU_REGION_BASE_PHYS                                   0x04000000
317*5113495bSYour Name 
318*5113495bSYour Name /*----------------------------------------------------------------------------
319*5113495bSYour Name  * BASE: PCIE_ATU_REGION_SIZE
320*5113495bSYour Name  *--------------------------------------------------------------------------*/
321*5113495bSYour Name 
322*5113495bSYour Name #define PCIE_ATU_REGION_SIZE_BASE                                   0x40000000
323*5113495bSYour Name #define PCIE_ATU_REGION_SIZE_BASE_SIZE                              0x100000000
324*5113495bSYour Name #define PCIE_ATU_REGION_SIZE_BASE_PHYS                              0x40000000
325*5113495bSYour Name 
326*5113495bSYour Name /*----------------------------------------------------------------------------
327*5113495bSYour Name  * BASE: PCIE_ATU_REGION_END
328*5113495bSYour Name  *--------------------------------------------------------------------------*/
329*5113495bSYour Name 
330*5113495bSYour Name #define PCIE_ATU_REGION_END_BASE                                    0x43ffffff
331*5113495bSYour Name #define PCIE_ATU_REGION_END_BASE_SIZE                               0x100000000
332*5113495bSYour Name #define PCIE_ATU_REGION_END_BASE_PHYS                               0x43ffffff
333*5113495bSYour Name 
334*5113495bSYour Name 
335*5113495bSYour Name #endif /* __MSMHWIOBASE_H__ */
336