blob: 848b533344e5b4c4aa55448232f834633481b0fd [file] [log] [blame]
/*
* 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)