1 /* SPDX-License-Identifier: GPL-2.0-only */ 1 2 /* 3 * OMAP SoC specific OPP Data helpers 4 * 5 * Copyright (C) 2009-2010 Texas Instruments I 6 * Nishanth Menon 7 * Kevin Hilman 8 * Copyright (C) 2010 Nokia Corporation. 9 * Eduardo Valentin 10 */ 11 #ifndef __ARCH_ARM_MACH_OMAP2_OMAP_OPP_DATA_H 12 #define __ARCH_ARM_MACH_OMAP2_OMAP_OPP_DATA_H 13 14 #include "omap_hwmod.h" 15 16 #include "voltage.h" 17 18 /* 19 * *BIG FAT WARNING*: 20 * USE the following ONLY in opp data initiali 21 * DO NOT USE these in board files/pm core etc 22 */ 23 24 /** 25 * struct omap_opp_def - OMAP OPP Definition 26 * @hwmod_name: Name of the hwmod for this dom 27 * @freq: Frequency in hertz correspondi 28 * @u_volt: Nominal voltage in microvolts 29 * @default_available: True/false - is this O 30 * 31 * OMAP SOCs have a standard set of tuples con 32 * pairs that the device will support per volt 33 * Operating Points or OPP. The actual definit 34 * varies over silicon within the same family 35 * domain, you can have a set of {frequency, v 36 * by an array of omap_opp_def. As the kernel 37 * available, a set of these are activated bas 38 * device the kernel boots up on. It is intere 39 * which belongs to a voltage domain may defin 40 * of this - but this is handled by the approp 41 */ 42 struct omap_opp_def { 43 char *hwmod_name; 44 45 unsigned long freq; 46 unsigned long u_volt; 47 48 bool default_available; 49 }; 50 51 /* 52 * Initialization wrapper used to define an OP 53 */ 54 #define OPP_INITIALIZER(_hwmod_name, _enabled, 55 { 56 .hwmod_name = _hwmod_name, 57 .default_available = _enabled, 58 .freq = _freq, 59 .u_volt = _uv, 60 } 61 62 /* 63 * Initialization wrapper used to define Smart 64 * XXX Is this needed? Just use C99 initializ 65 */ 66 #define VOLT_DATA_DEFINE(_v_nom, _efuse_offs, 67 { 68 .volt_nominal = _v_nom, 69 .sr_efuse_offs = _efuse_offs, 70 .sr_errminlimit = _errminlimit, 71 .vp_errgain = _errgain 72 } 73 74 extern struct omap_volt_data omap34xx_vddmpu_v 75 extern struct omap_volt_data omap34xx_vddcore_ 76 extern struct omap_volt_data omap36xx_vddmpu_v 77 extern struct omap_volt_data omap36xx_vddcore_ 78 79 extern struct omap_volt_data omap443x_vdd_mpu_ 80 extern struct omap_volt_data omap443x_vdd_iva_ 81 extern struct omap_volt_data omap443x_vdd_core 82 extern struct omap_volt_data omap446x_vdd_mpu_ 83 extern struct omap_volt_data omap446x_vdd_iva_ 84 extern struct omap_volt_data omap446x_vdd_core 85 86 #endif /* __ARCH_ARM_MACH_OMAP2_OMAP_ 87
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.