1*bfce552dSPankaj Dubey /* 2*bfce552dSPankaj Dubey * Copyright (c) 2011-2015 Samsung Electronics Co., Ltd. 3*bfce552dSPankaj Dubey * http://www.samsung.com/ 4*bfce552dSPankaj Dubey * 5*bfce552dSPankaj Dubey * EXYNOS4 - CPU PMU(Power Management Unit) support 6*bfce552dSPankaj Dubey * 7*bfce552dSPankaj Dubey * This program is free software; you can redistribute it and/or modify 8*bfce552dSPankaj Dubey * it under the terms of the GNU General Public License version 2 as 9*bfce552dSPankaj Dubey * published by the Free Software Foundation. 10*bfce552dSPankaj Dubey */ 11*bfce552dSPankaj Dubey 12*bfce552dSPankaj Dubey #include <linux/soc/samsung/exynos-regs-pmu.h> 13*bfce552dSPankaj Dubey #include <linux/soc/samsung/exynos-pmu.h> 14*bfce552dSPankaj Dubey 15*bfce552dSPankaj Dubey #include "exynos-pmu.h" 16*bfce552dSPankaj Dubey 17*bfce552dSPankaj Dubey static const struct exynos_pmu_conf exynos4210_pmu_config[] = { 18*bfce552dSPankaj Dubey /* { .offset = offset, .val = { AFTR, LPA, SLEEP } */ 19*bfce552dSPankaj Dubey { S5P_ARM_CORE0_LOWPWR, { 0x0, 0x0, 0x2 } }, 20*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CORE0, { 0x0, 0x0, 0x0 } }, 21*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CENTRAL0, { 0x0, 0x0, 0x0 } }, 22*bfce552dSPankaj Dubey { S5P_ARM_CORE1_LOWPWR, { 0x0, 0x0, 0x2 } }, 23*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CORE1, { 0x0, 0x0, 0x0 } }, 24*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CENTRAL1, { 0x0, 0x0, 0x0 } }, 25*bfce552dSPankaj Dubey { S5P_ARM_COMMON_LOWPWR, { 0x0, 0x0, 0x2 } }, 26*bfce552dSPankaj Dubey { S5P_L2_0_LOWPWR, { 0x2, 0x2, 0x3 } }, 27*bfce552dSPankaj Dubey { S5P_L2_1_LOWPWR, { 0x2, 0x2, 0x3 } }, 28*bfce552dSPankaj Dubey { S5P_CMU_ACLKSTOP_LOWPWR, { 0x1, 0x0, 0x0 } }, 29*bfce552dSPankaj Dubey { S5P_CMU_SCLKSTOP_LOWPWR, { 0x1, 0x0, 0x0 } }, 30*bfce552dSPankaj Dubey { S5P_CMU_RESET_LOWPWR, { 0x1, 0x1, 0x0 } }, 31*bfce552dSPankaj Dubey { S5P_APLL_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 32*bfce552dSPankaj Dubey { S5P_MPLL_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 33*bfce552dSPankaj Dubey { S5P_VPLL_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 34*bfce552dSPankaj Dubey { S5P_EPLL_SYSCLK_LOWPWR, { 0x1, 0x1, 0x0 } }, 35*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR, { 0x1, 0x1, 0x0 } }, 36*bfce552dSPankaj Dubey { S5P_CMU_RESET_GPSALIVE_LOWPWR, { 0x1, 0x1, 0x0 } }, 37*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_CAM_LOWPWR, { 0x1, 0x1, 0x0 } }, 38*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_TV_LOWPWR, { 0x1, 0x1, 0x0 } }, 39*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_MFC_LOWPWR, { 0x1, 0x1, 0x0 } }, 40*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_G3D_LOWPWR, { 0x1, 0x1, 0x0 } }, 41*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_LCD0_LOWPWR, { 0x1, 0x1, 0x0 } }, 42*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_LCD1_LOWPWR, { 0x1, 0x1, 0x0 } }, 43*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 44*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_GPS_LOWPWR, { 0x1, 0x1, 0x0 } }, 45*bfce552dSPankaj Dubey { S5P_CMU_RESET_CAM_LOWPWR, { 0x1, 0x1, 0x0 } }, 46*bfce552dSPankaj Dubey { S5P_CMU_RESET_TV_LOWPWR, { 0x1, 0x1, 0x0 } }, 47*bfce552dSPankaj Dubey { S5P_CMU_RESET_MFC_LOWPWR, { 0x1, 0x1, 0x0 } }, 48*bfce552dSPankaj Dubey { S5P_CMU_RESET_G3D_LOWPWR, { 0x1, 0x1, 0x0 } }, 49*bfce552dSPankaj Dubey { S5P_CMU_RESET_LCD0_LOWPWR, { 0x1, 0x1, 0x0 } }, 50*bfce552dSPankaj Dubey { S5P_CMU_RESET_LCD1_LOWPWR, { 0x1, 0x1, 0x0 } }, 51*bfce552dSPankaj Dubey { S5P_CMU_RESET_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 52*bfce552dSPankaj Dubey { S5P_CMU_RESET_GPS_LOWPWR, { 0x1, 0x1, 0x0 } }, 53*bfce552dSPankaj Dubey { S5P_TOP_BUS_LOWPWR, { 0x3, 0x0, 0x0 } }, 54*bfce552dSPankaj Dubey { S5P_TOP_RETENTION_LOWPWR, { 0x1, 0x0, 0x1 } }, 55*bfce552dSPankaj Dubey { S5P_TOP_PWR_LOWPWR, { 0x3, 0x0, 0x3 } }, 56*bfce552dSPankaj Dubey { S5P_LOGIC_RESET_LOWPWR, { 0x1, 0x1, 0x0 } }, 57*bfce552dSPankaj Dubey { S5P_ONENAND_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 58*bfce552dSPankaj Dubey { S5P_MODIMIF_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 59*bfce552dSPankaj Dubey { S5P_G2D_ACP_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 60*bfce552dSPankaj Dubey { S5P_USBOTG_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 61*bfce552dSPankaj Dubey { S5P_HSMMC_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 62*bfce552dSPankaj Dubey { S5P_CSSYS_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 63*bfce552dSPankaj Dubey { S5P_SECSS_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 64*bfce552dSPankaj Dubey { S5P_PCIE_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 65*bfce552dSPankaj Dubey { S5P_SATA_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 66*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_DRAM_LOWPWR, { 0x1, 0x0, 0x0 } }, 67*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 68*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_GPIO_LOWPWR, { 0x1, 0x0, 0x0 } }, 69*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_UART_LOWPWR, { 0x1, 0x0, 0x0 } }, 70*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_MMCA_LOWPWR, { 0x1, 0x0, 0x0 } }, 71*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_MMCB_LOWPWR, { 0x1, 0x0, 0x0 } }, 72*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_EBIA_LOWPWR, { 0x1, 0x0, 0x0 } }, 73*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_EBIB_LOWPWR, { 0x1, 0x0, 0x0 } }, 74*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_ISOLATION_LOWPWR, { 0x1, 0x0, 0x0 } }, 75*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_ALV_SEL_LOWPWR, { 0x1, 0x0, 0x0 } }, 76*bfce552dSPankaj Dubey { S5P_XUSBXTI_LOWPWR, { 0x1, 0x1, 0x0 } }, 77*bfce552dSPankaj Dubey { S5P_XXTI_LOWPWR, { 0x1, 0x1, 0x0 } }, 78*bfce552dSPankaj Dubey { S5P_EXT_REGULATOR_LOWPWR, { 0x1, 0x1, 0x0 } }, 79*bfce552dSPankaj Dubey { S5P_GPIO_MODE_LOWPWR, { 0x1, 0x0, 0x0 } }, 80*bfce552dSPankaj Dubey { S5P_GPIO_MODE_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 81*bfce552dSPankaj Dubey { S5P_CAM_LOWPWR, { 0x7, 0x0, 0x0 } }, 82*bfce552dSPankaj Dubey { S5P_TV_LOWPWR, { 0x7, 0x0, 0x0 } }, 83*bfce552dSPankaj Dubey { S5P_MFC_LOWPWR, { 0x7, 0x0, 0x0 } }, 84*bfce552dSPankaj Dubey { S5P_G3D_LOWPWR, { 0x7, 0x0, 0x0 } }, 85*bfce552dSPankaj Dubey { S5P_LCD0_LOWPWR, { 0x7, 0x0, 0x0 } }, 86*bfce552dSPankaj Dubey { S5P_LCD1_LOWPWR, { 0x7, 0x0, 0x0 } }, 87*bfce552dSPankaj Dubey { S5P_MAUDIO_LOWPWR, { 0x7, 0x7, 0x0 } }, 88*bfce552dSPankaj Dubey { S5P_GPS_LOWPWR, { 0x7, 0x0, 0x0 } }, 89*bfce552dSPankaj Dubey { S5P_GPS_ALIVE_LOWPWR, { 0x7, 0x0, 0x0 } }, 90*bfce552dSPankaj Dubey { PMU_TABLE_END,}, 91*bfce552dSPankaj Dubey }; 92*bfce552dSPankaj Dubey 93*bfce552dSPankaj Dubey static const struct exynos_pmu_conf exynos4x12_pmu_config[] = { 94*bfce552dSPankaj Dubey { S5P_ARM_CORE0_LOWPWR, { 0x0, 0x0, 0x2 } }, 95*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CORE0, { 0x0, 0x0, 0x0 } }, 96*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CENTRAL0, { 0x0, 0x0, 0x0 } }, 97*bfce552dSPankaj Dubey { S5P_ARM_CORE1_LOWPWR, { 0x0, 0x0, 0x2 } }, 98*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CORE1, { 0x0, 0x0, 0x0 } }, 99*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CENTRAL1, { 0x0, 0x0, 0x0 } }, 100*bfce552dSPankaj Dubey { S5P_ISP_ARM_LOWPWR, { 0x1, 0x0, 0x0 } }, 101*bfce552dSPankaj Dubey { S5P_DIS_IRQ_ISP_ARM_LOCAL_LOWPWR, { 0x0, 0x0, 0x0 } }, 102*bfce552dSPankaj Dubey { S5P_DIS_IRQ_ISP_ARM_CENTRAL_LOWPWR, { 0x0, 0x0, 0x0 } }, 103*bfce552dSPankaj Dubey { S5P_ARM_COMMON_LOWPWR, { 0x0, 0x0, 0x2 } }, 104*bfce552dSPankaj Dubey { S5P_L2_0_LOWPWR, { 0x0, 0x0, 0x3 } }, 105*bfce552dSPankaj Dubey /* XXX_OPTION register should be set other field */ 106*bfce552dSPankaj Dubey { S5P_ARM_L2_0_OPTION, { 0x10, 0x10, 0x0 } }, 107*bfce552dSPankaj Dubey { S5P_L2_1_LOWPWR, { 0x0, 0x0, 0x3 } }, 108*bfce552dSPankaj Dubey { S5P_ARM_L2_1_OPTION, { 0x10, 0x10, 0x0 } }, 109*bfce552dSPankaj Dubey { S5P_CMU_ACLKSTOP_LOWPWR, { 0x1, 0x0, 0x0 } }, 110*bfce552dSPankaj Dubey { S5P_CMU_SCLKSTOP_LOWPWR, { 0x1, 0x0, 0x0 } }, 111*bfce552dSPankaj Dubey { S5P_CMU_RESET_LOWPWR, { 0x1, 0x1, 0x0 } }, 112*bfce552dSPankaj Dubey { S5P_DRAM_FREQ_DOWN_LOWPWR, { 0x1, 0x1, 0x1 } }, 113*bfce552dSPankaj Dubey { S5P_DDRPHY_DLLOFF_LOWPWR, { 0x1, 0x1, 0x1 } }, 114*bfce552dSPankaj Dubey { S5P_LPDDR_PHY_DLL_LOCK_LOWPWR, { 0x1, 0x1, 0x1 } }, 115*bfce552dSPankaj Dubey { S5P_CMU_ACLKSTOP_COREBLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 116*bfce552dSPankaj Dubey { S5P_CMU_SCLKSTOP_COREBLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 117*bfce552dSPankaj Dubey { S5P_CMU_RESET_COREBLK_LOWPWR, { 0x1, 0x1, 0x0 } }, 118*bfce552dSPankaj Dubey { S5P_APLL_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 119*bfce552dSPankaj Dubey { S5P_MPLL_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 120*bfce552dSPankaj Dubey { S5P_VPLL_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 121*bfce552dSPankaj Dubey { S5P_EPLL_SYSCLK_LOWPWR, { 0x1, 0x1, 0x0 } }, 122*bfce552dSPankaj Dubey { S5P_MPLLUSER_SYSCLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 123*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_GPS_ALIVE_LOWPWR, { 0x1, 0x0, 0x0 } }, 124*bfce552dSPankaj Dubey { S5P_CMU_RESET_GPSALIVE_LOWPWR, { 0x1, 0x0, 0x0 } }, 125*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_CAM_LOWPWR, { 0x1, 0x0, 0x0 } }, 126*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_TV_LOWPWR, { 0x1, 0x0, 0x0 } }, 127*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_MFC_LOWPWR, { 0x1, 0x0, 0x0 } }, 128*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_G3D_LOWPWR, { 0x1, 0x0, 0x0 } }, 129*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_LCD0_LOWPWR, { 0x1, 0x0, 0x0 } }, 130*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_ISP_LOWPWR, { 0x1, 0x0, 0x0 } }, 131*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_MAUDIO_LOWPWR, { 0x1, 0x0, 0x0 } }, 132*bfce552dSPankaj Dubey { S5P_CMU_CLKSTOP_GPS_LOWPWR, { 0x1, 0x0, 0x0 } }, 133*bfce552dSPankaj Dubey { S5P_CMU_RESET_CAM_LOWPWR, { 0x1, 0x0, 0x0 } }, 134*bfce552dSPankaj Dubey { S5P_CMU_RESET_TV_LOWPWR, { 0x1, 0x0, 0x0 } }, 135*bfce552dSPankaj Dubey { S5P_CMU_RESET_MFC_LOWPWR, { 0x1, 0x0, 0x0 } }, 136*bfce552dSPankaj Dubey { S5P_CMU_RESET_G3D_LOWPWR, { 0x1, 0x0, 0x0 } }, 137*bfce552dSPankaj Dubey { S5P_CMU_RESET_LCD0_LOWPWR, { 0x1, 0x0, 0x0 } }, 138*bfce552dSPankaj Dubey { S5P_CMU_RESET_ISP_LOWPWR, { 0x1, 0x0, 0x0 } }, 139*bfce552dSPankaj Dubey { S5P_CMU_RESET_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 140*bfce552dSPankaj Dubey { S5P_CMU_RESET_GPS_LOWPWR, { 0x1, 0x0, 0x0 } }, 141*bfce552dSPankaj Dubey { S5P_TOP_BUS_LOWPWR, { 0x3, 0x0, 0x0 } }, 142*bfce552dSPankaj Dubey { S5P_TOP_RETENTION_LOWPWR, { 0x1, 0x0, 0x1 } }, 143*bfce552dSPankaj Dubey { S5P_TOP_PWR_LOWPWR, { 0x3, 0x0, 0x3 } }, 144*bfce552dSPankaj Dubey { S5P_TOP_BUS_COREBLK_LOWPWR, { 0x3, 0x0, 0x0 } }, 145*bfce552dSPankaj Dubey { S5P_TOP_RETENTION_COREBLK_LOWPWR, { 0x1, 0x0, 0x1 } }, 146*bfce552dSPankaj Dubey { S5P_TOP_PWR_COREBLK_LOWPWR, { 0x3, 0x0, 0x3 } }, 147*bfce552dSPankaj Dubey { S5P_LOGIC_RESET_LOWPWR, { 0x1, 0x1, 0x0 } }, 148*bfce552dSPankaj Dubey { S5P_OSCCLK_GATE_LOWPWR, { 0x1, 0x0, 0x1 } }, 149*bfce552dSPankaj Dubey { S5P_LOGIC_RESET_COREBLK_LOWPWR, { 0x1, 0x1, 0x0 } }, 150*bfce552dSPankaj Dubey { S5P_OSCCLK_GATE_COREBLK_LOWPWR, { 0x1, 0x0, 0x1 } }, 151*bfce552dSPankaj Dubey { S5P_ONENAND_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 152*bfce552dSPankaj Dubey { S5P_ONENAND_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 153*bfce552dSPankaj Dubey { S5P_HSI_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 154*bfce552dSPankaj Dubey { S5P_HSI_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 155*bfce552dSPankaj Dubey { S5P_G2D_ACP_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 156*bfce552dSPankaj Dubey { S5P_G2D_ACP_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 157*bfce552dSPankaj Dubey { S5P_USBOTG_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 158*bfce552dSPankaj Dubey { S5P_USBOTG_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 159*bfce552dSPankaj Dubey { S5P_HSMMC_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 160*bfce552dSPankaj Dubey { S5P_HSMMC_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 161*bfce552dSPankaj Dubey { S5P_CSSYS_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 162*bfce552dSPankaj Dubey { S5P_CSSYS_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 163*bfce552dSPankaj Dubey { S5P_SECSS_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 164*bfce552dSPankaj Dubey { S5P_SECSS_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 165*bfce552dSPankaj Dubey { S5P_ROTATOR_MEM_LOWPWR, { 0x3, 0x0, 0x0 } }, 166*bfce552dSPankaj Dubey { S5P_ROTATOR_MEM_OPTION, { 0x10, 0x10, 0x0 } }, 167*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_DRAM_LOWPWR, { 0x1, 0x0, 0x0 } }, 168*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 169*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_GPIO_LOWPWR, { 0x1, 0x0, 0x0 } }, 170*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_UART_LOWPWR, { 0x1, 0x0, 0x0 } }, 171*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_MMCA_LOWPWR, { 0x1, 0x0, 0x0 } }, 172*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_MMCB_LOWPWR, { 0x1, 0x0, 0x0 } }, 173*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_EBIA_LOWPWR, { 0x1, 0x0, 0x0 } }, 174*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_EBIB_LOWPWR, { 0x1, 0x0, 0x0 } }, 175*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_GPIO_COREBLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 176*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_ISOLATION_LOWPWR, { 0x1, 0x0, 0x0 } }, 177*bfce552dSPankaj Dubey { S5P_PAD_ISOLATION_COREBLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 178*bfce552dSPankaj Dubey { S5P_PAD_RETENTION_ALV_SEL_LOWPWR, { 0x1, 0x0, 0x0 } }, 179*bfce552dSPankaj Dubey { S5P_XUSBXTI_LOWPWR, { 0x1, 0x1, 0x0 } }, 180*bfce552dSPankaj Dubey { S5P_XXTI_LOWPWR, { 0x1, 0x1, 0x0 } }, 181*bfce552dSPankaj Dubey { S5P_EXT_REGULATOR_LOWPWR, { 0x1, 0x1, 0x0 } }, 182*bfce552dSPankaj Dubey { S5P_GPIO_MODE_LOWPWR, { 0x1, 0x0, 0x0 } }, 183*bfce552dSPankaj Dubey { S5P_GPIO_MODE_COREBLK_LOWPWR, { 0x1, 0x0, 0x0 } }, 184*bfce552dSPankaj Dubey { S5P_GPIO_MODE_MAUDIO_LOWPWR, { 0x1, 0x1, 0x0 } }, 185*bfce552dSPankaj Dubey { S5P_TOP_ASB_RESET_LOWPWR, { 0x1, 0x1, 0x1 } }, 186*bfce552dSPankaj Dubey { S5P_TOP_ASB_ISOLATION_LOWPWR, { 0x1, 0x0, 0x1 } }, 187*bfce552dSPankaj Dubey { S5P_CAM_LOWPWR, { 0x7, 0x0, 0x0 } }, 188*bfce552dSPankaj Dubey { S5P_TV_LOWPWR, { 0x7, 0x0, 0x0 } }, 189*bfce552dSPankaj Dubey { S5P_MFC_LOWPWR, { 0x7, 0x0, 0x0 } }, 190*bfce552dSPankaj Dubey { S5P_G3D_LOWPWR, { 0x7, 0x0, 0x0 } }, 191*bfce552dSPankaj Dubey { S5P_LCD0_LOWPWR, { 0x7, 0x0, 0x0 } }, 192*bfce552dSPankaj Dubey { S5P_ISP_LOWPWR, { 0x7, 0x0, 0x0 } }, 193*bfce552dSPankaj Dubey { S5P_MAUDIO_LOWPWR, { 0x7, 0x7, 0x0 } }, 194*bfce552dSPankaj Dubey { S5P_GPS_LOWPWR, { 0x7, 0x0, 0x0 } }, 195*bfce552dSPankaj Dubey { S5P_GPS_ALIVE_LOWPWR, { 0x7, 0x0, 0x0 } }, 196*bfce552dSPankaj Dubey { S5P_CMU_SYSCLK_ISP_LOWPWR, { 0x1, 0x0, 0x0 } }, 197*bfce552dSPankaj Dubey { S5P_CMU_SYSCLK_GPS_LOWPWR, { 0x1, 0x0, 0x0 } }, 198*bfce552dSPankaj Dubey { PMU_TABLE_END,}, 199*bfce552dSPankaj Dubey }; 200*bfce552dSPankaj Dubey 201*bfce552dSPankaj Dubey static const struct exynos_pmu_conf exynos4412_pmu_config[] = { 202*bfce552dSPankaj Dubey { S5P_ARM_CORE2_LOWPWR, { 0x0, 0x0, 0x2 } }, 203*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CORE2, { 0x0, 0x0, 0x0 } }, 204*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CENTRAL2, { 0x0, 0x0, 0x0 } }, 205*bfce552dSPankaj Dubey { S5P_ARM_CORE3_LOWPWR, { 0x0, 0x0, 0x2 } }, 206*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CORE3, { 0x0, 0x0, 0x0 } }, 207*bfce552dSPankaj Dubey { S5P_DIS_IRQ_CENTRAL3, { 0x0, 0x0, 0x0 } }, 208*bfce552dSPankaj Dubey { PMU_TABLE_END,}, 209*bfce552dSPankaj Dubey }; 210*bfce552dSPankaj Dubey 211*bfce552dSPankaj Dubey const struct exynos_pmu_data exynos4210_pmu_data = { 212*bfce552dSPankaj Dubey .pmu_config = exynos4210_pmu_config, 213*bfce552dSPankaj Dubey }; 214*bfce552dSPankaj Dubey 215*bfce552dSPankaj Dubey const struct exynos_pmu_data exynos4212_pmu_data = { 216*bfce552dSPankaj Dubey .pmu_config = exynos4x12_pmu_config, 217*bfce552dSPankaj Dubey }; 218*bfce552dSPankaj Dubey 219*bfce552dSPankaj Dubey const struct exynos_pmu_data exynos4412_pmu_data = { 220*bfce552dSPankaj Dubey .pmu_config = exynos4x12_pmu_config, 221*bfce552dSPankaj Dubey .pmu_config_extra = exynos4412_pmu_config, 222*bfce552dSPankaj Dubey }; 223