1f5a6422dSNishanth Menon /* 2f5a6422dSNishanth Menon * OMAP4 OPP table definitions. 3f5a6422dSNishanth Menon * 4df7cded3SVishwanath Sripathy * Copyright (C) 2010-2012 Texas Instruments Incorporated - http://www.ti.com/ 5f5a6422dSNishanth Menon * Nishanth Menon 6f5a6422dSNishanth Menon * Kevin Hilman 7f5a6422dSNishanth Menon * Thara Gopinath 8c0718df4SPaul Walmsley * Copyright (C) 2010-2011 Nokia Corporation. 9f5a6422dSNishanth Menon * Eduardo Valentin 10c0718df4SPaul Walmsley * Paul Walmsley 11f5a6422dSNishanth Menon * 12f5a6422dSNishanth Menon * This program is free software; you can redistribute it and/or modify 13f5a6422dSNishanth Menon * it under the terms of the GNU General Public License version 2 as 14f5a6422dSNishanth Menon * published by the Free Software Foundation. 15f5a6422dSNishanth Menon * 16f5a6422dSNishanth Menon * This program is distributed "as is" WITHOUT ANY WARRANTY of any 17f5a6422dSNishanth Menon * kind, whether express or implied; without even the implied warranty 18f5a6422dSNishanth Menon * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19f5a6422dSNishanth Menon * GNU General Public License for more details. 20f5a6422dSNishanth Menon */ 21f5a6422dSNishanth Menon #include <linux/module.h> 22f5a6422dSNishanth Menon 23dbc04161STony Lindgren #include "soc.h" 24c0718df4SPaul Walmsley #include "control.h" 25f5a6422dSNishanth Menon #include "omap_opp_data.h" 26eb05ead9SMenon, Nishanth #include "pm.h" 27f5a6422dSNishanth Menon 28c0718df4SPaul Walmsley /* 29c0718df4SPaul Walmsley * Structures containing OMAP4430 voltage supported and various 30c0718df4SPaul Walmsley * voltage dependent data for each VDD. 31c0718df4SPaul Walmsley */ 32c0718df4SPaul Walmsley 33d9a2012dSShweta Gulati #define OMAP4430_VDD_MPU_OPP50_UV 1025000 34d9a2012dSShweta Gulati #define OMAP4430_VDD_MPU_OPP100_UV 1200000 3532236a84STony Lindgren #define OMAP4430_VDD_MPU_OPPTURBO_UV 1325000 3632236a84STony Lindgren #define OMAP4430_VDD_MPU_OPPNITRO_UV 1388000 3732236a84STony Lindgren #define OMAP4430_VDD_MPU_OPPNITROSB_UV 1398000 38c0718df4SPaul Walmsley 39df7cded3SVishwanath Sripathy struct omap_volt_data omap443x_vdd_mpu_volt_data[] = { 40c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c), 41c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16), 42c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23), 43c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27), 4432236a84STony Lindgren VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITROSB_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITROSB, 0xfa, 0x27), 45c0718df4SPaul Walmsley VOLT_DATA_DEFINE(0, 0, 0, 0), 46c0718df4SPaul Walmsley }; 47c0718df4SPaul Walmsley 4832236a84STony Lindgren #define OMAP4430_VDD_IVA_OPP50_UV 950000 4932236a84STony Lindgren #define OMAP4430_VDD_IVA_OPP100_UV 1114000 5032236a84STony Lindgren #define OMAP4430_VDD_IVA_OPPTURBO_UV 1291000 51c0718df4SPaul Walmsley 52df7cded3SVishwanath Sripathy struct omap_volt_data omap443x_vdd_iva_volt_data[] = { 53c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c), 54c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16), 55c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23), 56c0718df4SPaul Walmsley VOLT_DATA_DEFINE(0, 0, 0, 0), 57c0718df4SPaul Walmsley }; 58c0718df4SPaul Walmsley 5932236a84STony Lindgren #define OMAP4430_VDD_CORE_OPP50_UV 962000 6032236a84STony Lindgren #define OMAP4430_VDD_CORE_OPP100_UV 1127000 61c0718df4SPaul Walmsley 62df7cded3SVishwanath Sripathy struct omap_volt_data omap443x_vdd_core_volt_data[] = { 63c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c), 64c0718df4SPaul Walmsley VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16), 65c0718df4SPaul Walmsley VOLT_DATA_DEFINE(0, 0, 0, 0), 66c0718df4SPaul Walmsley }; 67c0718df4SPaul Walmsley 68df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPP50_UV 1025000 69df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPP100_UV 1200000 70df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPPTURBO_UV 1313000 71df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPPNITRO_UV 1375000 72df7cded3SVishwanath Sripathy 73df7cded3SVishwanath Sripathy struct omap_volt_data omap446x_vdd_mpu_volt_data[] = { 74df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c), 75df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16), 76df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23), 77df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27), 78df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(0, 0, 0, 0), 79df7cded3SVishwanath Sripathy }; 80df7cded3SVishwanath Sripathy 81df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPP50_UV 1025000 82df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPP100_UV 1200000 83df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPPTURBO_UV 1313000 84df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPPNITRO_UV 1375000 85df7cded3SVishwanath Sripathy 86df7cded3SVishwanath Sripathy struct omap_volt_data omap446x_vdd_iva_volt_data[] = { 87df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c), 88df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16), 89df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23), 90df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPNITRO, 0xfa, 0x23), 91df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(0, 0, 0, 0), 92df7cded3SVishwanath Sripathy }; 93df7cded3SVishwanath Sripathy 94df7cded3SVishwanath Sripathy #define OMAP4460_VDD_CORE_OPP50_UV 1025000 95df7cded3SVishwanath Sripathy #define OMAP4460_VDD_CORE_OPP100_UV 1200000 96df7cded3SVishwanath Sripathy #define OMAP4460_VDD_CORE_OPP100_OV_UV 1250000 97df7cded3SVishwanath Sripathy 98df7cded3SVishwanath Sripathy struct omap_volt_data omap446x_vdd_core_volt_data[] = { 99df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c), 100df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16), 101df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP100_OV_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100OV, 0xf9, 0x16), 102df7cded3SVishwanath Sripathy VOLT_DATA_DEFINE(0, 0, 0, 0), 103df7cded3SVishwanath Sripathy }; 104