162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * OMAP3 OPP table definitions.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2009-2010 Texas Instruments Incorporated - https://www.ti.com/
662306a36Sopenharmony_ci *	Nishanth Menon
762306a36Sopenharmony_ci *	Kevin Hilman
862306a36Sopenharmony_ci * Copyright (C) 2010-2011 Nokia Corporation.
962306a36Sopenharmony_ci *      Eduardo Valentin
1062306a36Sopenharmony_ci *      Paul Walmsley
1162306a36Sopenharmony_ci */
1262306a36Sopenharmony_ci#include <linux/module.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include "soc.h"
1562306a36Sopenharmony_ci#include "control.h"
1662306a36Sopenharmony_ci#include "omap_opp_data.h"
1762306a36Sopenharmony_ci#include "pm.h"
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/* 34xx */
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci/* VDD1 */
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#define OMAP3430_VDD_MPU_OPP1_UV		975000
2462306a36Sopenharmony_ci#define OMAP3430_VDD_MPU_OPP2_UV		1075000
2562306a36Sopenharmony_ci#define OMAP3430_VDD_MPU_OPP3_UV		1200000
2662306a36Sopenharmony_ci#define OMAP3430_VDD_MPU_OPP4_UV		1270000
2762306a36Sopenharmony_ci#define OMAP3430_VDD_MPU_OPP5_UV		1350000
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cistruct omap_volt_data omap34xx_vddmpu_volt_data[] = {
3062306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD1, 0xf4, 0x0c),
3162306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD1, 0xf4, 0x0c),
3262306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD1, 0xf9, 0x18),
3362306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP4_UV, OMAP343X_CONTROL_FUSE_OPP4_VDD1, 0xf9, 0x18),
3462306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP5_UV, OMAP343X_CONTROL_FUSE_OPP5_VDD1, 0xf9, 0x18),
3562306a36Sopenharmony_ci	VOLT_DATA_DEFINE(0, 0, 0, 0),
3662306a36Sopenharmony_ci};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci/* VDD2 */
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci#define OMAP3430_VDD_CORE_OPP1_UV		975000
4162306a36Sopenharmony_ci#define OMAP3430_VDD_CORE_OPP2_UV		1050000
4262306a36Sopenharmony_ci#define OMAP3430_VDD_CORE_OPP3_UV		1150000
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_cistruct omap_volt_data omap34xx_vddcore_volt_data[] = {
4562306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD2, 0xf4, 0x0c),
4662306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD2, 0xf4, 0x0c),
4762306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD2, 0xf9, 0x18),
4862306a36Sopenharmony_ci	VOLT_DATA_DEFINE(0, 0, 0, 0),
4962306a36Sopenharmony_ci};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci/* 36xx */
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci/* VDD1 */
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci#define OMAP3630_VDD_MPU_OPP50_UV		1012500
5662306a36Sopenharmony_ci#define OMAP3630_VDD_MPU_OPP100_UV		1200000
5762306a36Sopenharmony_ci#define OMAP3630_VDD_MPU_OPP120_UV		1325000
5862306a36Sopenharmony_ci#define OMAP3630_VDD_MPU_OPP1G_UV		1375000
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cistruct omap_volt_data omap36xx_vddmpu_volt_data[] = {
6162306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD1, 0xf4, 0x0c),
6262306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD1, 0xf9, 0x16),
6362306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP120_UV, OMAP3630_CONTROL_FUSE_OPP120_VDD1, 0xfa, 0x23),
6462306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27),
6562306a36Sopenharmony_ci	VOLT_DATA_DEFINE(0, 0, 0, 0),
6662306a36Sopenharmony_ci};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci/* VDD2 */
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci#define OMAP3630_VDD_CORE_OPP50_UV		1000000
7162306a36Sopenharmony_ci#define OMAP3630_VDD_CORE_OPP100_UV		1200000
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_cistruct omap_volt_data omap36xx_vddcore_volt_data[] = {
7462306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD2, 0xf4, 0x0c),
7562306a36Sopenharmony_ci	VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD2, 0xf9, 0x16),
7662306a36Sopenharmony_ci	VOLT_DATA_DEFINE(0, 0, 0, 0),
7762306a36Sopenharmony_ci};
78