hc
2024-03-22 f63cd4c03ea42695d5f9b0e1798edd196923aae6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * OMAP Voltage Management Routines
 *
 * Copyright (C) 2011, Texas Instruments, Inc.
 */
 
#ifndef __ARCH_ARM_OMAP_VOLTAGE_H
#define __ARCH_ARM_OMAP_VOLTAGE_H
 
/**
 * struct omap_volt_data - Omap voltage specific data.
 * @voltage_nominal:    The possible voltage value in uV
 * @sr_efuse_offs:    The offset of the efuse register(from system
 *            control module base address) from where to read
 *            the n-target value for the smartreflex module.
 * @sr_errminlimit:    Error min limit value for smartreflex. This value
 *            differs at differnet opp and thus is linked
 *            with voltage.
 * @vp_errorgain:    Error gain value for the voltage processor. This
 *            field also differs according to the voltage/opp.
 */
struct omap_volt_data {
   u32    volt_nominal;
   u32    sr_efuse_offs;
   u8    sr_errminlimit;
   u8    vp_errgain;
};
struct voltagedomain;
 
struct voltagedomain *voltdm_lookup(const char *name);
int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
unsigned long voltdm_get_voltage(struct voltagedomain *voltdm);
struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
       unsigned long volt);
#endif