xref: /linux/drivers/thermal/ti-soc-thermal/dra752-bandgap.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*2b27bdccSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
28926fa4fSEduardo Valentin /*
38926fa4fSEduardo Valentin  * DRA752 bandgap registers, bitfields and temperature definitions
48926fa4fSEduardo Valentin  *
58926fa4fSEduardo Valentin  * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
68926fa4fSEduardo Valentin  * Contact:
78926fa4fSEduardo Valentin  *   Eduardo Valentin <eduardo.valentin@ti.com>
88926fa4fSEduardo Valentin  *   Tero Kristo <t-kristo@ti.com>
98926fa4fSEduardo Valentin  *
108926fa4fSEduardo Valentin  * This is an auto generated file.
118926fa4fSEduardo Valentin  */
128926fa4fSEduardo Valentin #ifndef __DRA752_BANDGAP_H
138926fa4fSEduardo Valentin #define __DRA752_BANDGAP_H
148926fa4fSEduardo Valentin 
158926fa4fSEduardo Valentin /**
168926fa4fSEduardo Valentin  * *** DRA752 ***
178926fa4fSEduardo Valentin  *
188926fa4fSEduardo Valentin  * Below, in sequence, are the Register definitions,
198926fa4fSEduardo Valentin  * the bitfields and the temperature definitions for DRA752.
208926fa4fSEduardo Valentin  */
218926fa4fSEduardo Valentin 
228926fa4fSEduardo Valentin /**
238926fa4fSEduardo Valentin  * DRA752 register definitions
248926fa4fSEduardo Valentin  *
258926fa4fSEduardo Valentin  * Registers are defined as offsets. The offsets are
268926fa4fSEduardo Valentin  * relative to FUSE_OPP_BGAP_GPU on DRA752.
278926fa4fSEduardo Valentin  * DRA752_BANDGAP_BASE		0x4a0021e0
288926fa4fSEduardo Valentin  *
298926fa4fSEduardo Valentin  * Register below are grouped by domain (not necessarily in offset order)
308926fa4fSEduardo Valentin  */
318926fa4fSEduardo Valentin 
328926fa4fSEduardo Valentin 
338926fa4fSEduardo Valentin /* DRA752.common register offsets */
348926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_OFFSET		0x1a0
358926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_OFFSET		0x1c8
368926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_OFFSET		0x39c
378926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_2_OFFSET		0x3b8
388926fa4fSEduardo Valentin 
398926fa4fSEduardo Valentin /* DRA752.core register offsets */
408926fa4fSEduardo Valentin #define DRA752_STD_FUSE_OPP_BGAP_CORE_OFFSET		0x8
418926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_CORE_OFFSET			0x154
428926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_CORE_OFFSET		0x1ac
438926fa4fSEduardo Valentin #define DRA752_DTEMP_CORE_1_OFFSET			0x20c
448926fa4fSEduardo Valentin #define DRA752_DTEMP_CORE_2_OFFSET			0x210
458926fa4fSEduardo Valentin 
468926fa4fSEduardo Valentin /* DRA752.iva register offsets */
478926fa4fSEduardo Valentin #define DRA752_STD_FUSE_OPP_BGAP_IVA_OFFSET		0x388
488926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_IVA_OFFSET			0x398
498926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_IVA_OFFSET		0x3a4
508926fa4fSEduardo Valentin #define DRA752_DTEMP_IVA_1_OFFSET			0x3d4
518926fa4fSEduardo Valentin #define DRA752_DTEMP_IVA_2_OFFSET			0x3d8
528926fa4fSEduardo Valentin 
538926fa4fSEduardo Valentin /* DRA752.mpu register offsets */
548926fa4fSEduardo Valentin #define DRA752_STD_FUSE_OPP_BGAP_MPU_OFFSET		0x4
558926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_MPU_OFFSET			0x14c
568926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_MPU_OFFSET		0x1a4
578926fa4fSEduardo Valentin #define DRA752_DTEMP_MPU_1_OFFSET			0x1e4
588926fa4fSEduardo Valentin #define DRA752_DTEMP_MPU_2_OFFSET			0x1e8
598926fa4fSEduardo Valentin 
608926fa4fSEduardo Valentin /* DRA752.dspeve register offsets */
618926fa4fSEduardo Valentin #define DRA752_STD_FUSE_OPP_BGAP_DSPEVE_OFFSET			0x384
628926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_DSPEVE_OFFSET			0x394
638926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_DSPEVE_OFFSET			0x3a0
648926fa4fSEduardo Valentin #define DRA752_DTEMP_DSPEVE_1_OFFSET				0x3c0
658926fa4fSEduardo Valentin #define DRA752_DTEMP_DSPEVE_2_OFFSET				0x3c4
668926fa4fSEduardo Valentin 
678926fa4fSEduardo Valentin /* DRA752.gpu register offsets */
688926fa4fSEduardo Valentin #define DRA752_STD_FUSE_OPP_BGAP_GPU_OFFSET		0x0
698926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_GPU_OFFSET			0x150
708926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_GPU_OFFSET		0x1a8
718926fa4fSEduardo Valentin #define DRA752_DTEMP_GPU_1_OFFSET			0x1f8
728926fa4fSEduardo Valentin #define DRA752_DTEMP_GPU_2_OFFSET			0x1fc
738926fa4fSEduardo Valentin 
748926fa4fSEduardo Valentin /**
758926fa4fSEduardo Valentin  * Register bitfields for DRA752
768926fa4fSEduardo Valentin  *
778926fa4fSEduardo Valentin  * All the macros bellow define the required bits for
788926fa4fSEduardo Valentin  * controlling temperature on DRA752. Bit defines are
798926fa4fSEduardo Valentin  * grouped by register.
808926fa4fSEduardo Valentin  */
818926fa4fSEduardo Valentin 
828926fa4fSEduardo Valentin /* DRA752.BANDGAP_STATUS_1 */
838926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_HOT_CORE_MASK		BIT(5)
848926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_COLD_CORE_MASK		BIT(4)
858926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_HOT_GPU_MASK		BIT(3)
868926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_COLD_GPU_MASK		BIT(2)
878926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_HOT_MPU_MASK		BIT(1)
888926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_1_COLD_MPU_MASK		BIT(0)
898926fa4fSEduardo Valentin 
908926fa4fSEduardo Valentin /* DRA752.BANDGAP_CTRL_2 */
918926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_FREEZE_IVA_MASK			BIT(22)
928926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_FREEZE_DSPEVE_MASK		BIT(21)
938926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_MASK_HOT_IVA_MASK			BIT(3)
948926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_MASK_COLD_IVA_MASK		BIT(2)
958926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_MASK_HOT_DSPEVE_MASK		BIT(1)
968926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_2_MASK_COLD_DSPEVE_MASK		BIT(0)
978926fa4fSEduardo Valentin 
988926fa4fSEduardo Valentin /* DRA752.BANDGAP_STATUS_2 */
998926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_2_HOT_IVA_MASK			BIT(3)
1008926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_2_COLD_IVA_MASK			BIT(2)
1018926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_2_HOT_DSPEVE_MASK			BIT(1)
1028926fa4fSEduardo Valentin #define DRA752_BANDGAP_STATUS_2_COLD_DSPEVE_MASK		BIT(0)
1038926fa4fSEduardo Valentin 
1048926fa4fSEduardo Valentin /* DRA752.BANDGAP_CTRL_1 */
1058926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_COUNTER_DELAY_MASK		(0x7 << 27)
1068926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_FREEZE_CORE_MASK			BIT(23)
1078926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_FREEZE_GPU_MASK			BIT(22)
1088926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_FREEZE_MPU_MASK			BIT(21)
1098926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_MASK_HOT_CORE_MASK		BIT(5)
1108926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_MASK_COLD_CORE_MASK		BIT(4)
1118926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_MASK_HOT_GPU_MASK			BIT(3)
1128926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_MASK_COLD_GPU_MASK		BIT(2)
1138926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_MASK_HOT_MPU_MASK			BIT(1)
1148926fa4fSEduardo Valentin #define DRA752_BANDGAP_CTRL_1_MASK_COLD_MPU_MASK		BIT(0)
1158926fa4fSEduardo Valentin 
1168926fa4fSEduardo Valentin /* DRA752.TEMP_SENSOR */
1178926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_TMPSOFF_MASK		BIT(11)
1188926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_EOCZ_MASK		BIT(10)
1198926fa4fSEduardo Valentin #define DRA752_TEMP_SENSOR_DTEMP_MASK		(0x3ff << 0)
1208926fa4fSEduardo Valentin 
1218926fa4fSEduardo Valentin /* DRA752.BANDGAP_THRESHOLD */
1228926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_HOT_MASK		(0x3ff << 16)
1238926fa4fSEduardo Valentin #define DRA752_BANDGAP_THRESHOLD_COLD_MASK		(0x3ff << 0)
1248926fa4fSEduardo Valentin 
1258926fa4fSEduardo Valentin /**
1268926fa4fSEduardo Valentin  * Temperature limits and thresholds for DRA752
1278926fa4fSEduardo Valentin  *
1288926fa4fSEduardo Valentin  * All the macros bellow are definitions for handling the
1298926fa4fSEduardo Valentin  * ADC conversions and representation of temperature limits
1308926fa4fSEduardo Valentin  * and thresholds for DRA752. Definitions are grouped
1318926fa4fSEduardo Valentin  * by temperature domain.
1328926fa4fSEduardo Valentin  */
1338926fa4fSEduardo Valentin 
1348926fa4fSEduardo Valentin /* DRA752.common temperature definitions */
1358926fa4fSEduardo Valentin /* ADC conversion table limits */
1368926fa4fSEduardo Valentin #define DRA752_ADC_START_VALUE		540
1378926fa4fSEduardo Valentin #define DRA752_ADC_END_VALUE		945
1388926fa4fSEduardo Valentin 
1398926fa4fSEduardo Valentin /* DRA752.GPU temperature definitions */
1408926fa4fSEduardo Valentin /* bandgap clock limits */
1418926fa4fSEduardo Valentin #define DRA752_GPU_MAX_FREQ				1500000
1428926fa4fSEduardo Valentin #define DRA752_GPU_MIN_FREQ				1000000
1438926fa4fSEduardo Valentin /* interrupts thresholds */
1448926fa4fSEduardo Valentin #define DRA752_GPU_T_HOT				800
1458926fa4fSEduardo Valentin #define DRA752_GPU_T_COLD				795
1468926fa4fSEduardo Valentin 
1478926fa4fSEduardo Valentin /* DRA752.MPU temperature definitions */
1488926fa4fSEduardo Valentin /* bandgap clock limits */
1498926fa4fSEduardo Valentin #define DRA752_MPU_MAX_FREQ				1500000
1508926fa4fSEduardo Valentin #define DRA752_MPU_MIN_FREQ				1000000
1518926fa4fSEduardo Valentin /* interrupts thresholds */
1528926fa4fSEduardo Valentin #define DRA752_MPU_T_HOT				800
1538926fa4fSEduardo Valentin #define DRA752_MPU_T_COLD				795
1548926fa4fSEduardo Valentin 
1558926fa4fSEduardo Valentin /* DRA752.CORE temperature definitions */
1568926fa4fSEduardo Valentin /* bandgap clock limits */
1578926fa4fSEduardo Valentin #define DRA752_CORE_MAX_FREQ				1500000
1588926fa4fSEduardo Valentin #define DRA752_CORE_MIN_FREQ				1000000
1598926fa4fSEduardo Valentin /* interrupts thresholds */
1608926fa4fSEduardo Valentin #define DRA752_CORE_T_HOT				800
1618926fa4fSEduardo Valentin #define DRA752_CORE_T_COLD				795
1628926fa4fSEduardo Valentin 
1638926fa4fSEduardo Valentin /* DRA752.DSPEVE temperature definitions */
1648926fa4fSEduardo Valentin /* bandgap clock limits */
1658926fa4fSEduardo Valentin #define DRA752_DSPEVE_MAX_FREQ				1500000
1668926fa4fSEduardo Valentin #define DRA752_DSPEVE_MIN_FREQ				1000000
1678926fa4fSEduardo Valentin /* interrupts thresholds */
1688926fa4fSEduardo Valentin #define DRA752_DSPEVE_T_HOT				800
1698926fa4fSEduardo Valentin #define DRA752_DSPEVE_T_COLD				795
1708926fa4fSEduardo Valentin 
1718926fa4fSEduardo Valentin /* DRA752.IVA temperature definitions */
1728926fa4fSEduardo Valentin /* bandgap clock limits */
1738926fa4fSEduardo Valentin #define DRA752_IVA_MAX_FREQ				1500000
1748926fa4fSEduardo Valentin #define DRA752_IVA_MIN_FREQ				1000000
1758926fa4fSEduardo Valentin /* interrupts thresholds */
1768926fa4fSEduardo Valentin #define DRA752_IVA_T_HOT				800
1778926fa4fSEduardo Valentin #define DRA752_IVA_T_COLD				795
1788926fa4fSEduardo Valentin 
1798926fa4fSEduardo Valentin #endif /* __DRA752_BANDGAP_H */
180