Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * OMAP4 OPP table definitions.
0004  *
0005  * Copyright (C) 2010-2012 Texas Instruments Incorporated - https://www.ti.com/
0006  *  Nishanth Menon
0007  *  Kevin Hilman
0008  *  Thara Gopinath
0009  * Copyright (C) 2010-2011 Nokia Corporation.
0010  *      Eduardo Valentin
0011  *      Paul Walmsley
0012  */
0013 #include <linux/module.h>
0014 
0015 #include "soc.h"
0016 #include "control.h"
0017 #include "omap_opp_data.h"
0018 #include "pm.h"
0019 
0020 /*
0021  * Structures containing OMAP4430 voltage supported and various
0022  * voltage dependent data for each VDD.
0023  */
0024 
0025 #define OMAP4430_VDD_MPU_OPP50_UV       1025000
0026 #define OMAP4430_VDD_MPU_OPP100_UV      1200000
0027 #define OMAP4430_VDD_MPU_OPPTURBO_UV        1325000
0028 #define OMAP4430_VDD_MPU_OPPNITRO_UV        1388000
0029 #define OMAP4430_VDD_MPU_OPPNITROSB_UV      1398000
0030 
0031 struct omap_volt_data omap443x_vdd_mpu_volt_data[] = {
0032     VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c),
0033     VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16),
0034     VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23),
0035     VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27),
0036     VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITROSB_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITROSB, 0xfa, 0x27),
0037     VOLT_DATA_DEFINE(0, 0, 0, 0),
0038 };
0039 
0040 #define OMAP4430_VDD_IVA_OPP50_UV        950000
0041 #define OMAP4430_VDD_IVA_OPP100_UV      1114000
0042 #define OMAP4430_VDD_IVA_OPPTURBO_UV        1291000
0043 
0044 struct omap_volt_data omap443x_vdd_iva_volt_data[] = {
0045     VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c),
0046     VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16),
0047     VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23),
0048     VOLT_DATA_DEFINE(0, 0, 0, 0),
0049 };
0050 
0051 #define OMAP4430_VDD_CORE_OPP50_UV       962000
0052 #define OMAP4430_VDD_CORE_OPP100_UV     1127000
0053 
0054 struct omap_volt_data omap443x_vdd_core_volt_data[] = {
0055     VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c),
0056     VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16),
0057     VOLT_DATA_DEFINE(0, 0, 0, 0),
0058 };
0059 
0060 #define OMAP4460_VDD_MPU_OPP50_UV       1025000
0061 #define OMAP4460_VDD_MPU_OPP100_UV      1200000
0062 #define OMAP4460_VDD_MPU_OPPTURBO_UV        1313000
0063 #define OMAP4460_VDD_MPU_OPPNITRO_UV        1375000
0064 
0065 struct omap_volt_data omap446x_vdd_mpu_volt_data[] = {
0066     VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c),
0067     VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16),
0068     VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23),
0069     VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27),
0070     VOLT_DATA_DEFINE(0, 0, 0, 0),
0071 };
0072 
0073 #define OMAP4460_VDD_IVA_OPP50_UV       1025000
0074 #define OMAP4460_VDD_IVA_OPP100_UV      1200000
0075 #define OMAP4460_VDD_IVA_OPPTURBO_UV        1313000
0076 #define OMAP4460_VDD_IVA_OPPNITRO_UV        1375000
0077 
0078 struct omap_volt_data omap446x_vdd_iva_volt_data[] = {
0079     VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c),
0080     VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16),
0081     VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23),
0082     VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPNITRO, 0xfa, 0x23),
0083     VOLT_DATA_DEFINE(0, 0, 0, 0),
0084 };
0085 
0086 #define OMAP4460_VDD_CORE_OPP50_UV      1025000
0087 #define OMAP4460_VDD_CORE_OPP100_UV     1200000
0088 #define OMAP4460_VDD_CORE_OPP100_OV_UV      1250000
0089 
0090 struct omap_volt_data omap446x_vdd_core_volt_data[] = {
0091     VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c),
0092     VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16),
0093     VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP100_OV_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100OV, 0xf9, 0x16),
0094     VOLT_DATA_DEFINE(0, 0, 0, 0),
0095 };