misc: k3_avs: add driver for K3 Adaptive Voltage Scaling Class 0

Adaptive Voltage Scaling is a technology used in TI SoCs to optimize
the operating voltage based on characterization data written to efuse
during production. Add a driver to support this feature for K3 line of
SoCs, initially for AM65x.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
This commit is contained in:
Tero Kristo
2019-10-24 15:00:46 +05:30
committed by Tom Rini
parent 0be2ecd486
commit 9d233b4e3e
4 changed files with 404 additions and 0 deletions

28
include/k3-avs.h Normal file
View File

@@ -0,0 +1,28 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Texas Instruments' K3 Adaptive Voltage Scaling driver
*
* Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
* Tero Kristo <t-kristo@ti.com>
*
*/
#ifndef _K3_AVS0_
#define _K3_AVS0_
#define AM6_VDD_WKUP 0
#define AM6_VDD_MCU 1
#define AM6_VDD_CORE 2
#define AM6_VDD_MPU0 3
#define AM6_VDD_MPU1 4
#define NUM_OPPS 4
#define AM6_OPP_NOM 1
#define AM6_OPP_OD 2
#define AM6_OPP_TURBO 3
int k3_avs_set_opp(struct udevice *dev, int vdd_id, int opp_id);
int k3_avs_notify_freq(int dev_id, int clk_id, u32 freq);
#endif