1*5a729246SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only
2f5a6422dSNishanth Menon /*
3f5a6422dSNishanth Menon  * OMAP4 OPP table definitions.
4f5a6422dSNishanth Menon  *
583bf6db0SAlexander A. Klimov  * Copyright (C) 2010-2012 Texas Instruments Incorporated - https://www.ti.com/
6f5a6422dSNishanth Menon  *	Nishanth Menon
7f5a6422dSNishanth Menon  *	Kevin Hilman
8f5a6422dSNishanth Menon  *	Thara Gopinath
9c0718df4SPaul Walmsley  * Copyright (C) 2010-2011 Nokia Corporation.
10f5a6422dSNishanth Menon  *      Eduardo Valentin
11c0718df4SPaul Walmsley  *      Paul Walmsley
12f5a6422dSNishanth Menon  */
13f5a6422dSNishanth Menon #include <linux/module.h>
14f5a6422dSNishanth Menon 
15dbc04161STony Lindgren #include "soc.h"
16c0718df4SPaul Walmsley #include "control.h"
17f5a6422dSNishanth Menon #include "omap_opp_data.h"
18eb05ead9SMenon, Nishanth #include "pm.h"
19f5a6422dSNishanth Menon 
20c0718df4SPaul Walmsley /*
21c0718df4SPaul Walmsley  * Structures containing OMAP4430 voltage supported and various
22c0718df4SPaul Walmsley  * voltage dependent data for each VDD.
23c0718df4SPaul Walmsley  */
24c0718df4SPaul Walmsley 
25d9a2012dSShweta Gulati #define OMAP4430_VDD_MPU_OPP50_UV		1025000
26d9a2012dSShweta Gulati #define OMAP4430_VDD_MPU_OPP100_UV		1200000
2732236a84STony Lindgren #define OMAP4430_VDD_MPU_OPPTURBO_UV		1325000
2832236a84STony Lindgren #define OMAP4430_VDD_MPU_OPPNITRO_UV		1388000
2932236a84STony Lindgren #define OMAP4430_VDD_MPU_OPPNITROSB_UV		1398000
30c0718df4SPaul Walmsley 
31df7cded3SVishwanath Sripathy struct omap_volt_data omap443x_vdd_mpu_volt_data[] = {
32c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c),
33c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16),
34c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23),
35c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27),
3632236a84STony Lindgren 	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITROSB_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITROSB, 0xfa, 0x27),
37c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(0, 0, 0, 0),
38c0718df4SPaul Walmsley };
39c0718df4SPaul Walmsley 
4032236a84STony Lindgren #define OMAP4430_VDD_IVA_OPP50_UV		 950000
4132236a84STony Lindgren #define OMAP4430_VDD_IVA_OPP100_UV		1114000
4232236a84STony Lindgren #define OMAP4430_VDD_IVA_OPPTURBO_UV		1291000
43c0718df4SPaul Walmsley 
44df7cded3SVishwanath Sripathy struct omap_volt_data omap443x_vdd_iva_volt_data[] = {
45c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c),
46c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16),
47c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23),
48c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(0, 0, 0, 0),
49c0718df4SPaul Walmsley };
50c0718df4SPaul Walmsley 
5132236a84STony Lindgren #define OMAP4430_VDD_CORE_OPP50_UV		 962000
5232236a84STony Lindgren #define OMAP4430_VDD_CORE_OPP100_UV		1127000
53c0718df4SPaul Walmsley 
54df7cded3SVishwanath Sripathy struct omap_volt_data omap443x_vdd_core_volt_data[] = {
55c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c),
56c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16),
57c0718df4SPaul Walmsley 	VOLT_DATA_DEFINE(0, 0, 0, 0),
58c0718df4SPaul Walmsley };
59c0718df4SPaul Walmsley 
60df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPP50_UV		1025000
61df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPP100_UV		1200000
62df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPPTURBO_UV		1313000
63df7cded3SVishwanath Sripathy #define OMAP4460_VDD_MPU_OPPNITRO_UV		1375000
64df7cded3SVishwanath Sripathy 
65df7cded3SVishwanath Sripathy struct omap_volt_data omap446x_vdd_mpu_volt_data[] = {
66df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c),
67df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16),
68df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23),
69df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27),
70df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(0, 0, 0, 0),
71df7cded3SVishwanath Sripathy };
72df7cded3SVishwanath Sripathy 
73df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPP50_UV		1025000
74df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPP100_UV		1200000
75df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPPTURBO_UV		1313000
76df7cded3SVishwanath Sripathy #define OMAP4460_VDD_IVA_OPPNITRO_UV		1375000
77df7cded3SVishwanath Sripathy 
78df7cded3SVishwanath Sripathy struct omap_volt_data omap446x_vdd_iva_volt_data[] = {
79df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c),
80df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16),
81df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23),
82df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_IVA_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPNITRO, 0xfa, 0x23),
83df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(0, 0, 0, 0),
84df7cded3SVishwanath Sripathy };
85df7cded3SVishwanath Sripathy 
86df7cded3SVishwanath Sripathy #define OMAP4460_VDD_CORE_OPP50_UV		1025000
87df7cded3SVishwanath Sripathy #define OMAP4460_VDD_CORE_OPP100_UV		1200000
88df7cded3SVishwanath Sripathy #define OMAP4460_VDD_CORE_OPP100_OV_UV		1250000
89df7cded3SVishwanath Sripathy 
90df7cded3SVishwanath Sripathy struct omap_volt_data omap446x_vdd_core_volt_data[] = {
91df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c),
92df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16),
93df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(OMAP4460_VDD_CORE_OPP100_OV_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100OV, 0xf9, 0x16),
94df7cded3SVishwanath Sripathy 	VOLT_DATA_DEFINE(0, 0, 0, 0),
95df7cded3SVishwanath Sripathy };
96