113 lines
3.0 KiB
C
113 lines
3.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (c) 2020 MediaTek Inc.
|
|
*/
|
|
|
|
#ifndef __MMDVFS_CONFIG_MT6761_H__
|
|
#define __MMDVFS_CONFIG_MT6761_H__
|
|
|
|
#include "mmdvfs_config_util.h"
|
|
|
|
/* Part I MMSVFS HW Configuration (OPP)*/
|
|
/* Define the number of mmdvfs, vcore and mm clks opps */
|
|
|
|
/* Max total MMDVFS opps of the profile support */
|
|
#define MT6761_MMDVFS_OPP_MAX 3
|
|
|
|
struct mmdvfs_profile_mask qos_apply_profiles[] = {
|
|
/* #ifdef MMDVFS_QOS_SUPPORT */
|
|
/* ISP for opp0 */
|
|
{"ISP",
|
|
SMI_BWC_SCEN_CAM_PV,
|
|
MMDVFS_FINE_STEP_OPP0},
|
|
{"ISP",
|
|
SMI_BWC_SCEN_CAM_CP,
|
|
MMDVFS_FINE_STEP_OPP0},
|
|
{"ISP",
|
|
SMI_BWC_SCEN_VR,
|
|
MMDVFS_FINE_STEP_OPP0},
|
|
/* ISP for opp1 */
|
|
{"ISP",
|
|
SMI_BWC_SCEN_CAM_PV,
|
|
MMDVFS_FINE_STEP_OPP1},
|
|
{"ISP",
|
|
SMI_BWC_SCEN_CAM_CP,
|
|
MMDVFS_FINE_STEP_OPP1},
|
|
{"ISP",
|
|
SMI_BWC_SCEN_VR,
|
|
MMDVFS_FINE_STEP_OPP1},
|
|
/* ISP for opp2 */
|
|
{"ISP",
|
|
SMI_BWC_SCEN_CAM_PV,
|
|
MMDVFS_FINE_STEP_OPP2},
|
|
{"ISP",
|
|
SMI_BWC_SCEN_CAM_CP,
|
|
MMDVFS_FINE_STEP_OPP2},
|
|
{"ISP",
|
|
SMI_BWC_SCEN_VR,
|
|
MMDVFS_FINE_STEP_OPP2},
|
|
/* ICFP for opp0 */
|
|
{"ICFP",
|
|
SMI_BWC_SCEN_ICFP,
|
|
MMDVFS_FINE_STEP_OPP0},
|
|
/* debug entry */
|
|
{"DEBUG",
|
|
0,
|
|
MMDVFS_FINE_STEP_UNREQUEST },
|
|
};
|
|
|
|
/* Part II MMDVFS Scenario's Step Confuguration */
|
|
|
|
#define MT6761_MMDVFS_SENSOR_MIN (13000000)
|
|
#define MT6761_MMDVFS_SENSOR_MID (16000000)
|
|
/* A.1 [LP4 2-ch] Scenarios of each MM DVFS Step (force kicker) */
|
|
/* OPP 0 scenarios */
|
|
#define MT6761_MMDVFS_OPP0_NUM 1
|
|
struct mmdvfs_profile mt6761_mmdvfs_opp0_profiles[MT6761_MMDVFS_OPP0_NUM] = {
|
|
{"ICFP", SMI_BWC_SCEN_ICFP, {0, 0, 0}, {0, 0, 0 } },
|
|
/*
|
|
* {"Camera Preview", SMI_BWC_SCEN_CAM_PV,
|
|
* {MT6761_MMDVFS_SENSOR_MID, 0, 0}, {0, 0, 0 } },
|
|
* {"Camera Capture", SMI_BWC_SCEN_CAM_CP,
|
|
* {MT6761_MMDVFS_SENSOR_MID, 0, 0}, {0, 0, 0 } },
|
|
* {"Video Recording", SMI_BWC_SCEN_VR,
|
|
* {MT6761_MMDVFS_SENSOR_MID, 0, 0}, {0, 0, 0 } },
|
|
*/
|
|
};
|
|
|
|
/* OPP 1 scenarios */
|
|
#define MT6761_MMDVFS_OPP1_NUM 0
|
|
struct mmdvfs_profile mt6761_mmdvfs_opp1_profiles[MT6761_MMDVFS_OPP1_NUM] = {
|
|
/*
|
|
* {"Camera Preview", SMI_BWC_SCEN_CAM_PV,
|
|
* {MT6761_MMDVFS_SENSOR_MIN, 0, 0}, {0, 0, 0 } },
|
|
* {"Camera Capture", SMI_BWC_SCEN_CAM_CP,
|
|
* {MT6761_MMDVFS_SENSOR_MIN, 0, 0}, {0, 0, 0 } },
|
|
* {"Video Recording", SMI_BWC_SCEN_VR,
|
|
* {MT6761_MMDVFS_SENSOR_MIN, 0, 0}, {0, 0, 0 } },
|
|
*/
|
|
};
|
|
|
|
/* OPP 2 scenarios */
|
|
#define MT6761_MMDVFS_OPP2_NUM 0
|
|
struct mmdvfs_profile mt6761_mmdvfs_opp2_profiles[MT6761_MMDVFS_OPP2_NUM] = {
|
|
/*
|
|
* {"Camera Preview", SMI_BWC_SCEN_CAM_PV, {0, 0, 0}, {0, 0, 0 } },
|
|
* {"Camera Capture", SMI_BWC_SCEN_CAM_CP, {0, 0, 0}, {0, 0, 0 } },
|
|
* {"Video Recording", SMI_BWC_SCEN_VR, {0, 0, 0}, {0, 0, 0 } },
|
|
*/
|
|
};
|
|
|
|
struct mmdvfs_step_to_qos_step legacy_to_qos_step[MT6761_MMDVFS_OPP_MAX] = {
|
|
{0, 0},
|
|
{1, 1},
|
|
{2, 2},
|
|
};
|
|
|
|
struct mmdvfs_step_profile mt6761_step_profile[MT6761_MMDVFS_OPP_MAX] = {
|
|
{0, mt6761_mmdvfs_opp0_profiles, MT6761_MMDVFS_OPP0_NUM, {0} },
|
|
{1, mt6761_mmdvfs_opp1_profiles, MT6761_MMDVFS_OPP1_NUM, {0} },
|
|
{2, mt6761_mmdvfs_opp2_profiles, MT6761_MMDVFS_OPP2_NUM, {0} },
|
|
};
|
|
#endif /* __MMDVFS_CONFIG_MT6761_H__ */
|