]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/include/asm/arch-exynos/power.h
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash
[people/ms/u-boot.git] / arch / arm / include / asm / arch-exynos / power.h
1 /*
2 * Copyright (C) 2011 Samsung Electronics
3 * Heungjun Kim <riverful.kim@samsung.com>
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24 #ifndef __ASM_ARM_ARCH_POWER_H_
25 #define __ASM_ARM_ARCH_POWER_H_
26
27 #ifndef __ASSEMBLY__
28 struct exynos4_power {
29 unsigned int om_stat;
30 unsigned char res1[0x8];
31 unsigned int rtc_clko_sel;
32 unsigned int gnss_rtc_out_ctrl;
33 unsigned char res2[0x1ec];
34 unsigned int system_power_down_ctrl;
35 unsigned char res3[0x1];
36 unsigned int system_power_down_option;
37 unsigned char res4[0x1f4];
38 unsigned int swreset;
39 unsigned int rst_stat;
40 unsigned char res5[0x1f8];
41 unsigned int wakeup_stat;
42 unsigned int eint_wakeup_mask;
43 unsigned int wakeup_mask;
44 unsigned char res6[0xf4];
45 unsigned int hdmi_phy_control;
46 unsigned int usbdevice_phy_control;
47 unsigned int usbhost_phy_control;
48 unsigned int dac_phy_control;
49 unsigned int mipi_phy0_control;
50 unsigned int mipi_phy1_control;
51 unsigned int adc_phy_control;
52 unsigned int pcie_phy_control;
53 unsigned int sata_phy_control;
54 unsigned char res7[0xdc];
55 unsigned int inform0;
56 unsigned int inform1;
57 unsigned int inform2;
58 unsigned int inform3;
59 unsigned int inform4;
60 unsigned int inform5;
61 unsigned int inform6;
62 unsigned int inform7;
63 unsigned char res8[0x1e0];
64 unsigned int pmu_debug;
65 unsigned char res9[0x5fc];
66 unsigned int arm_core0_sys_pwr_reg;
67 unsigned char res10[0xc];
68 unsigned int arm_core1_sys_pwr_reg;
69 unsigned char res11[0x6c];
70 unsigned int arm_common_sys_pwr_reg;
71 unsigned char res12[0x3c];
72 unsigned int arm_cpu_l2_0_sys_pwr_reg;
73 unsigned int arm_cpu_l2_1_sys_pwr_reg;
74 unsigned char res13[0x38];
75 unsigned int cmu_aclkstop_sys_pwr_reg;
76 unsigned int cmu_sclkstop_sys_pwr_reg;
77 unsigned char res14[0x4];
78 unsigned int cmu_reset_sys_pwr_reg;
79 unsigned char res15[0x10];
80 unsigned int apll_sysclk_sys_pwr_reg;
81 unsigned int mpll_sysclk_sys_pwr_reg;
82 unsigned int vpll_sysclk_sys_pwr_reg;
83 unsigned int epll_sysclk_sys_pwr_reg;
84 unsigned char res16[0x8];
85 unsigned int cmu_clkstop_gps_alive_sys_pwr_reg;
86 unsigned int cmu_reset_gps_alive_sys_pwr_reg;
87 unsigned int cmu_clkstop_cam_sys_pwr_reg;
88 unsigned int cmu_clkstop_tv_sys_pwr_reg;
89 unsigned int cmu_clkstop_mfc_sys_pwr_reg;
90 unsigned int cmu_clkstop_g3d_sys_pwr_reg;
91 unsigned int cmu_clkstop_lcd0_sys_pwr_reg;
92 unsigned int cmu_clkstop_lcd1_sys_pwr_reg;
93 unsigned int cmu_clkstop_maudio_sys_pwr_reg;
94 unsigned int cmu_clkstop_gps_sys_pwr_reg;
95 unsigned int cmu_reset_cam_sys_pwr_reg;
96 unsigned int cmu_reset_tv_sys_pwr_reg;
97 unsigned int cmu_reset_mfc_sys_pwr_reg;
98 unsigned int cmu_reset_g3d_sys_pwr_reg;
99 unsigned int cmu_reset_lcd0_sys_pwr_reg;
100 unsigned int cmu_reset_lcd1_sys_pwr_reg;
101 unsigned int cmu_reset_maudio_sys_pwr_reg;
102 unsigned int cmu_reset_gps_sys_pwr_reg;
103 unsigned int top_bus_sys_pwr_reg;
104 unsigned int top_retention_sys_pwr_reg;
105 unsigned int top_pwr_sys_pwr_reg;
106 unsigned char res17[0x1c];
107 unsigned int logic_reset_sys_pwr_reg;
108 unsigned char res18[0x14];
109 unsigned int onenandxl_mem_sys_pwr_reg;
110 unsigned int modemif_mem_sys_pwr_reg;
111 unsigned char res19[0x4];
112 unsigned int usbdevice_mem_sys_pwr_reg;
113 unsigned int sdmmc_mem_sys_pwr_reg;
114 unsigned int cssys_mem_sys_pwr_reg;
115 unsigned int secss_mem_sys_pwr_reg;
116 unsigned char res20[0x4];
117 unsigned int pcie_mem_sys_pwr_reg;
118 unsigned int sata_mem_sys_pwr_reg;
119 unsigned char res21[0x18];
120 unsigned int pad_retention_dram_sys_pwr_reg;
121 unsigned int pad_retention_maudio_sys_pwr_reg;
122 unsigned char res22[0x18];
123 unsigned int pad_retention_gpio_sys_pwr_reg;
124 unsigned int pad_retention_uart_sys_pwr_reg;
125 unsigned int pad_retention_mmca_sys_pwr_reg;
126 unsigned int pad_retention_mmcb_sys_pwr_reg;
127 unsigned int pad_retention_ebia_sys_pwr_reg;
128 unsigned int pad_retention_ebib_sys_pwr_reg;
129 unsigned char res23[0x8];
130 unsigned int pad_isolation_sys_pwr_reg;
131 unsigned char res24[0x1c];
132 unsigned int pad_alv_sel_sys_pwr_reg;
133 unsigned char res25[0x1c];
134 unsigned int xusbxti_sys_pwr_reg;
135 unsigned int xxti_sys_pwr_reg;
136 unsigned char res26[0x38];
137 unsigned int ext_regulator_sys_pwr_reg;
138 unsigned char res27[0x3c];
139 unsigned int gpio_mode_sys_pwr_reg;
140 unsigned char res28[0x3c];
141 unsigned int gpio_mode_maudio_sys_pwr_reg;
142 unsigned char res29[0x3c];
143 unsigned int cam_sys_pwr_reg;
144 unsigned int tv_sys_pwr_reg;
145 unsigned int mfc_sys_pwr_reg;
146 unsigned int g3d_sys_pwr_reg;
147 unsigned int lcd0_sys_pwr_reg;
148 unsigned int lcd1_sys_pwr_reg;
149 unsigned int maudio_sys_pwr_reg;
150 unsigned int gps_sys_pwr_reg;
151 unsigned int gps_alive_sys_pwr_reg;
152 unsigned char res30[0xc5c];
153 unsigned int arm_core0_configuration;
154 unsigned int arm_core0_status;
155 unsigned int arm_core0_option;
156 unsigned char res31[0x74];
157 unsigned int arm_core1_configuration;
158 unsigned int arm_core1_status;
159 unsigned int arm_core1_option;
160 unsigned char res32[0x37c];
161 unsigned int arm_common_option;
162 unsigned char res33[0x1f4];
163 unsigned int arm_cpu_l2_0_configuration;
164 unsigned int arm_cpu_l2_0_status;
165 unsigned char res34[0x18];
166 unsigned int arm_cpu_l2_1_configuration;
167 unsigned int arm_cpu_l2_1_status;
168 unsigned char res35[0xa00];
169 unsigned int pad_retention_maudio_option;
170 unsigned char res36[0xdc];
171 unsigned int pad_retention_gpio_option;
172 unsigned char res37[0x1c];
173 unsigned int pad_retention_uart_option;
174 unsigned char res38[0x1c];
175 unsigned int pad_retention_mmca_option;
176 unsigned char res39[0x1c];
177 unsigned int pad_retention_mmcb_option;
178 unsigned char res40[0x1c];
179 unsigned int pad_retention_ebia_option;
180 unsigned char res41[0x1c];
181 unsigned int pad_retention_ebib_option;
182 unsigned char res42[0x160];
183 unsigned int ps_hold_control;
184 unsigned char res43[0xf0];
185 unsigned int xusbxti_configuration;
186 unsigned int xusbxti_status;
187 unsigned char res44[0x14];
188 unsigned int xusbxti_duration;
189 unsigned int xxti_configuration;
190 unsigned int xxti_status;
191 unsigned char res45[0x14];
192 unsigned int xxti_duration;
193 unsigned char res46[0x1dc];
194 unsigned int ext_regulator_duration;
195 unsigned char res47[0x5e0];
196 unsigned int cam_configuration;
197 unsigned int cam_status;
198 unsigned int cam_option;
199 unsigned char res48[0x14];
200 unsigned int tv_configuration;
201 unsigned int tv_status;
202 unsigned int tv_option;
203 unsigned char res49[0x14];
204 unsigned int mfc_configuration;
205 unsigned int mfc_status;
206 unsigned int mfc_option;
207 unsigned char res50[0x14];
208 unsigned int g3d_configuration;
209 unsigned int g3d_status;
210 unsigned int g3d_option;
211 unsigned char res51[0x14];
212 unsigned int lcd0_configuration;
213 unsigned int lcd0_status;
214 unsigned int lcd0_option;
215 unsigned char res52[0x14];
216 unsigned int lcd1_configuration;
217 unsigned int lcd1_status;
218 unsigned int lcd1_option;
219 unsigned char res53[0x34];
220 unsigned int gps_configuration;
221 unsigned int gps_status;
222 unsigned int gps_option;
223 unsigned char res54[0x14];
224 unsigned int gps_alive_configuration;
225 unsigned int gps_alive_status;
226 unsigned int gps_alive_option;
227 };
228 #endif /* __ASSEMBLY__ */
229
230 void set_mipi_phy_ctrl(unsigned int dev_index, unsigned int enable);
231
232 #define EXYNOS_MIPI_PHY_ENABLE (1 << 0)
233 #define EXYNOS_MIPI_PHY_SRESETN (1 << 1)
234 #define EXYNOS_MIPI_PHY_MRESETN (1 << 2)
235
236 #endif