// Copyright 2018 The Fuchsia Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #pragma once #include #include #include #include #include #include #include #include #include #include #define THERMAL_ERROR(fmt, ...) zxlogf(ERROR, "[%s %d]" fmt, __func__, __LINE__, ##__VA_ARGS__) #define THERMAL_INFO(fmt, ...) zxlogf(INFO, "[%s %d]" fmt, __func__, __LINE__, ##__VA_ARGS__) // GPIO Indexes enum { FAN_CTL0, FAN_CTL1, FAN_CTL_COUNT, }; typedef struct { zx_device_t* zxdev; pdev_protocol_t pdev; gpio_protocol_t gpios[FAN_CTL_COUNT]; scpi_protocol_t scpi; zx_handle_t port; thrd_t notify_thread; thermal_device_info_t *device; uint32_t temp_sensor_id; uint32_t current_trip_idx; uint32_t current_temperature; uint32_t current_fan_level; uint32_t current_big_cluster_opp_idx; uint32_t current_little_cluster_opp_idx; } aml_thermal_t;