1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef INTERNAL_THERMAL_SENSOR_H 9 #define INTERNAL_THERMAL_SENSOR_H 10 11 #define THERMAL_BASE_ADDRESS 0x48190000 12 #define THERMAL_INDIVIDUAL_BASE_OFFSET 0x800 13 #define THERMAL_INDIVIDUAL_SENSOR_OFFSET 0x80 14 15 /* base address of the thermal sensor */ 16 #define THERMAL_SENSOR0_BASE_ADDRESS_OFFSET 0x800 17 #define THERMAL_SENSOR1_BASE_ADDRESS_OFFSET 0x880 18 #define THERMAL_SENSOR2_BASE_ADDRESS_OFFSET 0x900 19 #define THERMAL_SENSOR3_BASE_ADDRESS_OFFSET 0x980 20 #define THERMAL_SENSOR4_BASE_ADDRESS_OFFSET 0xA00 21 #define THERMAL_SENSOR5_BASE_ADDRESS_OFFSET 0xA80 22 #define THERMAL_SENSOR6_BASE_ADDRESS_OFFSET 0xB00 23 #define THERMAL_SENSOR7_BASE_ADDRESS_OFFSET 0xB80 24 #define THERMAL_SENSOR8_BASE_ADDRESS_OFFSET 0xC00 25 #define THERMAL_SENSOR9_BASE_ADDRESS_OFFSET 0xC80 26 #define THERMAL_SENSOR10_BASE_ADDRESS_OFFSET 0xD00 27 #define THERMAL_SENSOR11_BASE_ADDRESS_OFFSET 0xD80 28 #define THERMAL_SENSOR12_BASE_ADDRESS_OFFSET 0xE00 29 #define THERMAL_SENSOR13_BASE_ADDRESS_OFFSET 0xE80 30 #define THERMAL_SENSOR14_BASE_ADDRESS_OFFSET 0xF00 31 #define THERMAL_SENSOR15_BASE_ADDRESS_OFFSET 0xF80 32 33 /* register offset */ 34 #define THERMAL_MACROINFO_G_OFFSET 0x000 35 #define THERMAL_ALLCONFIG_OFFSET 0x00C 36 37 #define THERMAL_TS_RESET_OFFSET 0x010 38 #define THERMAL_TS_EN_OFFSET 0x014 39 #define THERMAL_TS_CT_OFFSET 0x018 40 #define THERMAL_TS_ADJ_OFFSET 0x01C 41 42 #define THERMAL_IRQOUT_OFFSET 0x020 43 #define THERMAL_IRQCLR_OFFSET 0x024 44 #define THERMAL_IRQMASK_OFFSET 0x028 45 #define THERMAL_IRQSTATUS_OFFSET 0x02C 46 47 #define THERMAL_TSDATA_VALID_X_OFFSET 0x030 48 #define THERMAL_TSDATA_X_OFFSET 0x034 49 50 #define THERMAL_HI_FULL_TEMP_OFFSET 0x040 51 #define THERMAL_HI_NEAR_TEMP_OFFSET 0x044 52 #define THERMAL_LO_NEAR_TEMP_OFFSET 0x048 53 #define THERMAL_LO_FULL_TEMP_OFFSET 0x04C 54 55 #define THERMAL_HYS_TEMP_OFFSET 0x050 56 57 #define THERMAL_ENABLE 0x1 58 #define THERMAL_DISABLE 0x0 59 60 #define THERMAL_SUCCESS 0x0 61 #define THERMAL_FAIL 0x1 62 63 #define THERMAL_SENSOR_BASE(a) \ 64 (THERMAL_BASE_ADDRESS + THERMAL_INDIVIDUAL_BASE_OFFSET + \ 65 (a * (THERMAL_INDIVIDUAL_SENSOR_OFFSET))) 66 67 int thermal_enable(void); 68 69 #endif /* INTERNAL_THERMAL_SENSOR_H */ 70