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