/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* Copyright (c) 2015-2022 Graphcore Ltd. */ #ifndef _ipu_sensors_h_ #define _ipu_sensors_h_ /* sensor definitions - shared between driver and userspace */ enum ipu_sensor_type_t { IPU_SENSOR_DIE_TEMP, IPU_SENSOR_BOARD_TEMP, IPU_SENSOR_POWER, APP_SIZES, IPU_BUSY_DURATION, }; #define MAX_DIE_TEMP_SENSORS 4 #define MAX_BOARD_TEMP_SENSORS 4 #define MAX_POWER_SENSORS 3 #define MAX_APP_SIZES 3 #define MAX_IPU_BUSY_DURATIONS 2 #define TEMP_SENSOR_DIE_START (0) #define TEMP_SENSOR_DIE_END (TEMP_SENSOR_DIE_START + MAX_DIE_TEMP_SENSORS - 1) #define TEMP_SENSOR_BOARD_START (TEMP_SENSOR_DIE_END + 1) #define TEMP_SENSOR_BOARD_END \ (TEMP_SENSOR_BOARD_START + MAX_BOARD_TEMP_SENSORS - 1) #define POWER_SENSOR_START (TEMP_SENSOR_BOARD_END + 1) #define POWER_SENSOR_END (POWER_SENSOR_START + MAX_POWER_SENSORS - 1) #define APP_SIZES_START (POWER_SENSOR_END + 1) #define APP_SIZES_END (APP_SIZES_START + MAX_APP_SIZES - 1) #define IPU_BUSY_DURATION_START (APP_SIZES_END + 1) #define IPU_BUSY_DURATION_END \ (IPU_BUSY_DURATION_START + MAX_IPU_BUSY_DURATIONS - 1) #endif /* _ipu_sensors_h_ */