xref: /openbmc/linux/drivers/thermal/ti-soc-thermal/ti-thermal.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1  /* SPDX-License-Identifier: GPL-2.0-only */
2  /*
3   * OMAP thermal definitions
4   *
5   * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
6   * Contact:
7   *   Eduardo Valentin <eduardo.valentin@ti.com>
8   */
9  #ifndef __TI_THERMAL_H
10  #define __TI_THERMAL_H
11  
12  #include "ti-bandgap.h"
13  
14  /* PCB sensor calculation constants */
15  #define OMAP_GRADIENT_SLOPE_W_PCB_4430				0
16  #define OMAP_GRADIENT_CONST_W_PCB_4430				20000
17  #define OMAP_GRADIENT_SLOPE_W_PCB_4460				1142
18  #define OMAP_GRADIENT_CONST_W_PCB_4460				-393
19  #define OMAP_GRADIENT_SLOPE_W_PCB_4470				1063
20  #define OMAP_GRADIENT_CONST_W_PCB_4470				-477
21  
22  #define OMAP_GRADIENT_SLOPE_W_PCB_5430_CPU			100
23  #define OMAP_GRADIENT_CONST_W_PCB_5430_CPU			484
24  #define OMAP_GRADIENT_SLOPE_W_PCB_5430_GPU			464
25  #define OMAP_GRADIENT_CONST_W_PCB_5430_GPU			-5102
26  
27  #define DRA752_GRADIENT_SLOPE_W_PCB				0
28  #define DRA752_GRADIENT_CONST_W_PCB				2000
29  
30  /* trip points of interest in milicelsius (at hotspot level) */
31  #define OMAP_TRIP_COLD						100000
32  #define OMAP_TRIP_HOT						110000
33  #define OMAP_TRIP_SHUTDOWN					125000
34  #define OMAP_TRIP_NUMBER					2
35  #define OMAP_TRIP_STEP							\
36  	((OMAP_TRIP_SHUTDOWN - OMAP_TRIP_HOT) / (OMAP_TRIP_NUMBER - 1))
37  
38  /* Update rates */
39  #define FAST_TEMP_MONITORING_RATE				250
40  
41  #ifdef CONFIG_TI_THERMAL
42  int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain);
43  int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id);
44  int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id);
45  int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id);
46  int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id);
47  #else
48  static inline
ti_thermal_expose_sensor(struct ti_bandgap * bgp,int id,char * domain)49  int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain)
50  {
51  	return 0;
52  }
53  
54  static inline
ti_thermal_remove_sensor(struct ti_bandgap * bgp,int id)55  int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id)
56  {
57  	return 0;
58  }
59  
60  static inline
ti_thermal_report_sensor_temperature(struct ti_bandgap * bgp,int id)61  int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id)
62  {
63  	return 0;
64  }
65  
66  static inline
ti_thermal_register_cpu_cooling(struct ti_bandgap * bgp,int id)67  int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
68  {
69  	return 0;
70  }
71  
72  static inline
ti_thermal_unregister_cpu_cooling(struct ti_bandgap * bgp,int id)73  int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)
74  {
75  	return 0;
76  }
77  #endif
78  #endif
79