blob: 6444fd04ec12a46bec9cb6a6917e1be664f70285 [file] [log] [blame]
/*
* Copyright (C) 2011 Samsung Electronics
* Heungjun Kim <riverful.kim@samsung.com>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#ifndef __ASM_ARM_ARCH_POWER_H_
#define __ASM_ARM_ARCH_POWER_H_
#ifndef __ASSEMBLY__
struct exynos4_power {
unsigned int om_stat;
unsigned char res1[0x8];
unsigned int rtc_clko_sel;
unsigned int gnss_rtc_out_ctrl;
unsigned char res2[0x1ec];
unsigned int system_power_down_ctrl;
unsigned char res3[0x1];
unsigned int system_power_down_option;
unsigned char res4[0x1f4];
unsigned int swreset;
unsigned int rst_stat;
unsigned char res5[0x1f8];
unsigned int wakeup_stat;
unsigned int eint_wakeup_mask;
unsigned int wakeup_mask;
unsigned char res6[0xf4];
unsigned int hdmi_phy_control;
unsigned int usbdevice_phy_control;
unsigned int usbhost_phy_control;
unsigned int dac_phy_control;
unsigned int mipi_phy0_control;
unsigned int mipi_phy1_control;
unsigned int adc_phy_control;
unsigned int pcie_phy_control;
unsigned int sata_phy_control;
unsigned char res7[0xdc];
unsigned int inform0;
unsigned int inform1;
unsigned int inform2;
unsigned int inform3;
unsigned int inform4;
unsigned int inform5;
unsigned int inform6;
unsigned int inform7;
unsigned char res8[0x1e0];
unsigned int pmu_debug;
unsigned char res9[0x5fc];
unsigned int arm_core0_sys_pwr_reg;
unsigned char res10[0xc];
unsigned int arm_core1_sys_pwr_reg;
unsigned char res11[0x6c];
unsigned int arm_common_sys_pwr_reg;
unsigned char res12[0x3c];
unsigned int arm_cpu_l2_0_sys_pwr_reg;
unsigned int arm_cpu_l2_1_sys_pwr_reg;
unsigned char res13[0x38];
unsigned int cmu_aclkstop_sys_pwr_reg;
unsigned int cmu_sclkstop_sys_pwr_reg;
unsigned char res14[0x4];
unsigned int cmu_reset_sys_pwr_reg;
unsigned char res15[0x10];
unsigned int apll_sysclk_sys_pwr_reg;
unsigned int mpll_sysclk_sys_pwr_reg;
unsigned int vpll_sysclk_sys_pwr_reg;
unsigned int epll_sysclk_sys_pwr_reg;
unsigned char res16[0x8];
unsigned int cmu_clkstop_gps_alive_sys_pwr_reg;
unsigned int cmu_reset_gps_alive_sys_pwr_reg;
unsigned int cmu_clkstop_cam_sys_pwr_reg;
unsigned int cmu_clkstop_tv_sys_pwr_reg;
unsigned int cmu_clkstop_mfc_sys_pwr_reg;
unsigned int cmu_clkstop_g3d_sys_pwr_reg;
unsigned int cmu_clkstop_lcd0_sys_pwr_reg;
unsigned int cmu_clkstop_lcd1_sys_pwr_reg;
unsigned int cmu_clkstop_maudio_sys_pwr_reg;
unsigned int cmu_clkstop_gps_sys_pwr_reg;
unsigned int cmu_reset_cam_sys_pwr_reg;
unsigned int cmu_reset_tv_sys_pwr_reg;
unsigned int cmu_reset_mfc_sys_pwr_reg;
unsigned int cmu_reset_g3d_sys_pwr_reg;
unsigned int cmu_reset_lcd0_sys_pwr_reg;
unsigned int cmu_reset_lcd1_sys_pwr_reg;
unsigned int cmu_reset_maudio_sys_pwr_reg;
unsigned int cmu_reset_gps_sys_pwr_reg;
unsigned int top_bus_sys_pwr_reg;
unsigned int top_retention_sys_pwr_reg;
unsigned int top_pwr_sys_pwr_reg;
unsigned char res17[0x1c];
unsigned int logic_reset_sys_pwr_reg;
unsigned char res18[0x14];
unsigned int onenandxl_mem_sys_pwr_reg;
unsigned int modemif_mem_sys_pwr_reg;
unsigned char res19[0x4];
unsigned int usbdevice_mem_sys_pwr_reg;
unsigned int sdmmc_mem_sys_pwr_reg;
unsigned int cssys_mem_sys_pwr_reg;
unsigned int secss_mem_sys_pwr_reg;
unsigned char res20[0x4];
unsigned int pcie_mem_sys_pwr_reg;
unsigned int sata_mem_sys_pwr_reg;
unsigned char res21[0x18];
unsigned int pad_retention_dram_sys_pwr_reg;
unsigned int pad_retention_maudio_sys_pwr_reg;
unsigned char res22[0x18];
unsigned int pad_retention_gpio_sys_pwr_reg;
unsigned int pad_retention_uart_sys_pwr_reg;
unsigned int pad_retention_mmca_sys_pwr_reg;
unsigned int pad_retention_mmcb_sys_pwr_reg;
unsigned int pad_retention_ebia_sys_pwr_reg;
unsigned int pad_retention_ebib_sys_pwr_reg;
unsigned char res23[0x8];
unsigned int pad_isolation_sys_pwr_reg;
unsigned char res24[0x1c];
unsigned int pad_alv_sel_sys_pwr_reg;
unsigned char res25[0x1c];
unsigned int xusbxti_sys_pwr_reg;
unsigned int xxti_sys_pwr_reg;
unsigned char res26[0x38];
unsigned int ext_regulator_sys_pwr_reg;
unsigned char res27[0x3c];
unsigned int gpio_mode_sys_pwr_reg;
unsigned char res28[0x3c];
unsigned int gpio_mode_maudio_sys_pwr_reg;
unsigned char res29[0x3c];
unsigned int cam_sys_pwr_reg;
unsigned int tv_sys_pwr_reg;
unsigned int mfc_sys_pwr_reg;
unsigned int g3d_sys_pwr_reg;
unsigned int lcd0_sys_pwr_reg;
unsigned int lcd1_sys_pwr_reg;
unsigned int maudio_sys_pwr_reg;
unsigned int gps_sys_pwr_reg;
unsigned int gps_alive_sys_pwr_reg;
unsigned char res30[0xc5c];
unsigned int arm_core0_configuration;
unsigned int arm_core0_status;
unsigned int arm_core0_option;
unsigned char res31[0x74];
unsigned int arm_core1_configuration;
unsigned int arm_core1_status;
unsigned int arm_core1_option;
unsigned char res32[0x37c];
unsigned int arm_common_option;
unsigned char res33[0x1f4];
unsigned int arm_cpu_l2_0_configuration;
unsigned int arm_cpu_l2_0_status;
unsigned char res34[0x18];
unsigned int arm_cpu_l2_1_configuration;
unsigned int arm_cpu_l2_1_status;
unsigned char res35[0xa00];
unsigned int pad_retention_maudio_option;
unsigned char res36[0xdc];
unsigned int pad_retention_gpio_option;
unsigned char res37[0x1c];
unsigned int pad_retention_uart_option;
unsigned char res38[0x1c];
unsigned int pad_retention_mmca_option;
unsigned char res39[0x1c];
unsigned int pad_retention_mmcb_option;
unsigned char res40[0x1c];
unsigned int pad_retention_ebia_option;
unsigned char res41[0x1c];
unsigned int pad_retention_ebib_option;
unsigned char res42[0x160];
unsigned int ps_hold_control;
unsigned char res43[0xf0];
unsigned int xusbxti_configuration;
unsigned int xusbxti_status;
unsigned char res44[0x14];
unsigned int xusbxti_duration;
unsigned int xxti_configuration;
unsigned int xxti_status;
unsigned char res45[0x14];
unsigned int xxti_duration;
unsigned char res46[0x1dc];
unsigned int ext_regulator_duration;
unsigned char res47[0x5e0];
unsigned int cam_configuration;
unsigned int cam_status;
unsigned int cam_option;
unsigned char res48[0x14];
unsigned int tv_configuration;
unsigned int tv_status;
unsigned int tv_option;
unsigned char res49[0x14];
unsigned int mfc_configuration;
unsigned int mfc_status;
unsigned int mfc_option;
unsigned char res50[0x14];
unsigned int g3d_configuration;
unsigned int g3d_status;
unsigned int g3d_option;
unsigned char res51[0x14];
unsigned int lcd0_configuration;
unsigned int lcd0_status;
unsigned int lcd0_option;
unsigned char res52[0x14];
unsigned int lcd1_configuration;
unsigned int lcd1_status;
unsigned int lcd1_option;
unsigned char res53[0x34];
unsigned int gps_configuration;
unsigned int gps_status;
unsigned int gps_option;
unsigned char res54[0x14];
unsigned int gps_alive_configuration;
unsigned int gps_alive_status;
unsigned int gps_alive_option;
};
#endif /* __ASSEMBLY__ */
void set_mipi_phy_ctrl(unsigned int dev_index, unsigned int enable);
#define EXYNOS_MIPI_PHY_ENABLE (1 << 0)
#define EXYNOS_MIPI_PHY_SRESETN (1 << 1)
#define EXYNOS_MIPI_PHY_MRESETN (1 << 2)
#endif