ti-thermal.h (2515B)
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 57int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain); 58int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id); 59int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id); 60int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id); 61int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id); 62#else 63static inline 64int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain) 65{ 66 return 0; 67} 68 69static inline 70int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id) 71{ 72 return 0; 73} 74 75static inline 76int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id) 77{ 78 return 0; 79} 80 81static inline 82int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id) 83{ 84 return 0; 85} 86 87static inline 88int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id) 89{ 90 return 0; 91} 92#endif 93#endif