/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ /* * Copyright (c) 2019 Amlogic, Inc. All rights reserved. */ #ifndef __MESON_COOLDEV_H__ #define __MESON_COOLDEV_H__ enum cool_dev_type { COOL_DEV_TYPE_CPU_CORE = 0, COOL_DEV_TYPE_GPU_FREQ, COOL_DEV_TYPE_GPU_CORE, COOL_DEV_TYPE_DDR, COOL_DEV_TYPE_MEDIA, COOL_DEV_TYPE_MAX }; struct cool_dev { int ddr_reg_cnt; u32 *ddr_reg; u32 ddr_status; u32 (*ddr_bits)[2]; u32 (*ddr_data)[20]; char *device_type; struct device_node *np; struct thermal_cooling_device *cooling_dev; }; #ifndef mc_capable #define mc_capable() 0 #endif #ifdef CONFIG_AMLOGIC_COOLDEV struct thermal_cooling_device; int meson_gcooldev_min_update(struct thermal_cooling_device *cdev); #else struct thermal_cooling_device; int meson_gcooldev_min_update(struct thermal_cooling_device *cdev) { return 0; } #endif extern struct platform_driver meson_cooldev_platdrv; int meson_get_cooldev_type(struct thermal_cooling_device *cdev); #endif