| /* |
| * Copyright (C) 2018 MediaTek Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| * See http://www.gnu.org/licenses/gpl-2.0.html for more details. |
| */ |
| |
| struct mfg_base { |
| struct clk *clk_mux; |
| struct clk *clk_main_parent; |
| struct clk *clk_sub_parent; |
| struct clk *subsys_mfg_cg; |
| struct platform_device *gpu_core1_dev; |
| struct platform_device *gpu_core2_dev; |
| bool is_powered; |
| }; |
| |
| /* Definition for PMIC regulators */ |
| #define VSRAM_GPU_MAX_VOLT (925000) /* uV */ |
| #define VSRAM_GPU_MIN_VOLT (850000) /* uV */ |
| #define VGPU_MAX_VOLT (825000) /* uV */ |
| #define VGPU_MIN_VOLT (625000) /* uV */ |
| |
| #define MIN_VOLT_BIAS (100000) /* uV */ |
| #define MAX_VOLT_BIAS (250000) /* uV */ |
| #define VOLT_TOL (125) /* uV */ |
| |
| /** |
| * Maximum frequency GPU will be clocked at. Given in kHz. |
| * This must be specified as there is no default value. |
| * |
| * Attached value: number in kHz |
| * Default value: NA |
| */ |
| #define GPU_FREQ_KHZ_MAX (800000) |
| /** |
| * Minimum frequency GPU will be clocked at. Given in kHz. |
| * This must be specified as there is no default value. |
| * |
| * Attached value: number in kHz |
| * Default value: NA |
| */ |
| #define GPU_FREQ_KHZ_MIN (300000) |
| |
| /** |
| * CPU_SPEED_FUNC - A pointer to a function that calculates the CPU clock |
| * |
| * CPU clock speed of the platform is in MHz - see kbase_cpu_clk_speed_func |
| * for the function prototype. |
| * |
| * Attached value: A kbase_cpu_clk_speed_func. |
| * Default Value: NA |
| */ |
| #define CPU_SPEED_FUNC (NULL) |
| |
| /** |
| * GPU_SPEED_FUNC - A pointer to a function that calculates the GPU clock |
| * |
| * GPU clock speed of the platform in MHz - see kbase_gpu_clk_speed_func |
| * for the function prototype. |
| * |
| * Attached value: A kbase_gpu_clk_speed_func. |
| * Default Value: NA |
| */ |
| #define GPU_SPEED_FUNC (NULL) |
| |
| /** |
| * Power management configuration |
| * |
| * Attached value: pointer to @ref kbase_pm_callback_conf |
| * Default value: See @ref kbase_pm_callback_conf |
| */ |
| #define POWER_MANAGEMENT_CALLBACKS (&pm_callbacks) |
| |
| /** |
| * Platform specific configuration functions |
| * |
| * Attached value: pointer to @ref kbase_platform_funcs_conf |
| * Default value: See @ref kbase_platform_funcs_conf |
| */ |
| #define PLATFORM_FUNCS (&platform_funcs) |
| |
| extern struct kbase_pm_callback_conf pm_callbacks; |
| extern struct kbase_platform_funcs_conf platform_funcs; |
| |
| /** |
| * Autosuspend delay |
| * |
| * The delay time (in milliseconds) to be used for autosuspend |
| */ |
| #define AUTO_SUSPEND_DELAY (100) |