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 /* helper macros */ 42 /** 43 * ti_thermal_get_trip_value - returns trip temperature based on index 44 * @i: trip index 45 */ 46 #define ti_thermal_get_trip_value(i) \ 47 (OMAP_TRIP_HOT + ((i) * OMAP_TRIP_STEP)) 48 49 /** 50 * ti_thermal_is_valid_trip - check for trip index 51 * @i: trip index 52 */ 53 #define ti_thermal_is_valid_trip(trip) \ 54 ((trip) >= 0 && (trip) < OMAP_TRIP_NUMBER) 55 56 #ifdef CONFIG_TI_THERMAL 57 int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain); 58 int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id); 59 int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id); 60 int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id); 61 int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id); 62 #else 63 static inline 64 int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain) 65 { 66 return 0; 67 } 68 69 static inline 70 int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id) 71 { 72 return 0; 73 } 74 75 static inline 76 int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id) 77 { 78 return 0; 79 } 80 81 static inline 82 int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id) 83 { 84 return 0; 85 } 86 87 static inline 88 int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id) 89 { 90 return 0; 91 } 92 #endif 93 #endif 94