ec/google/chromeec: Add more wrappers for regulator control
google_chromeec_regulator_enable is for enabling/disabling the regulator. google_chromeec_regulator_is_enabled is for querying if the regulator is enabled. BUG=b:168863056,b:147789962 BRANCH=none TEST=emerge-asurada coreboot Signed-off-by: Yidi Lin <yidi.lin@mediatek.com> Change-Id: Ia804242042b0026af19025a0c4a74b3ab8475dab Reviewed-on: https://review.coreboot.org/c/coreboot/+/46686 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
parent
9ee02095fa
commit
99e6dd9f74
@ -1624,6 +1624,53 @@ int google_chromeec_ap_reset(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int google_chromeec_regulator_enable(uint32_t index, uint8_t enable)
|
||||||
|
{
|
||||||
|
struct ec_params_regulator_enable params = {
|
||||||
|
.index = index,
|
||||||
|
.enable = enable,
|
||||||
|
};
|
||||||
|
struct chromeec_command cmd = {
|
||||||
|
.cmd_code = EC_CMD_REGULATOR_ENABLE,
|
||||||
|
.cmd_version = 0,
|
||||||
|
.cmd_data_in = ¶ms,
|
||||||
|
.cmd_size_in = sizeof(params),
|
||||||
|
.cmd_data_out = NULL,
|
||||||
|
.cmd_size_out = 0,
|
||||||
|
.cmd_dev_index = 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (google_chromeec_command(&cmd))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int google_chromeec_regulator_is_enabled(uint32_t index, uint8_t *enabled)
|
||||||
|
{
|
||||||
|
|
||||||
|
struct ec_params_regulator_is_enabled params = {
|
||||||
|
.index = index,
|
||||||
|
};
|
||||||
|
struct ec_response_regulator_is_enabled resp = {};
|
||||||
|
struct chromeec_command cmd = {
|
||||||
|
.cmd_code = EC_CMD_REGULATOR_IS_ENABLED,
|
||||||
|
.cmd_version = 0,
|
||||||
|
.cmd_data_in = ¶ms,
|
||||||
|
.cmd_size_in = sizeof(params),
|
||||||
|
.cmd_data_out = &resp,
|
||||||
|
.cmd_size_out = sizeof(resp),
|
||||||
|
.cmd_dev_index = 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (google_chromeec_command(&cmd))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
*enabled = resp.enabled;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int google_chromeec_regulator_set_voltage(uint32_t index, uint32_t min_mv,
|
int google_chromeec_regulator_set_voltage(uint32_t index, uint32_t min_mv,
|
||||||
uint32_t max_mv)
|
uint32_t max_mv)
|
||||||
{
|
{
|
||||||
|
@ -353,8 +353,27 @@ int google_chromeec_get_keybd_config(struct ec_response_keybd_config *keybd);
|
|||||||
*/
|
*/
|
||||||
int google_chromeec_ap_reset(void);
|
int google_chromeec_ap_reset(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the regulator as enabled / disabled.
|
||||||
|
*
|
||||||
|
* @param index Regulator ID
|
||||||
|
* @param enable Set to enable / disable the regulator
|
||||||
|
* @return 0 on success, -1 on error
|
||||||
|
*/
|
||||||
|
int google_chromeec_regulator_enable(uint32_t index, uint8_t enable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query if the regulator is enabled.
|
||||||
|
*
|
||||||
|
* @param index Regulator ID
|
||||||
|
* @param *enabled If successful, enabled indicates enable/disable status.
|
||||||
|
* @return 0 on success, -1 on error
|
||||||
|
*/
|
||||||
|
int google_chromeec_regulator_is_enabled(uint32_t index, uint8_t *enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set voltage for the voltage regulator within the range specified.
|
* Set voltage for the voltage regulator within the range specified.
|
||||||
|
*
|
||||||
* @param index Regulator ID
|
* @param index Regulator ID
|
||||||
* @param min_mv Minimum voltage
|
* @param min_mv Minimum voltage
|
||||||
* @param max_mv Maximum voltage
|
* @param max_mv Maximum voltage
|
||||||
@ -365,6 +384,7 @@ int google_chromeec_regulator_set_voltage(uint32_t index, uint32_t min_mv,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the currently configured voltage for the voltage regulator.
|
* Get the currently configured voltage for the voltage regulator.
|
||||||
|
*
|
||||||
* @param index Regulator ID
|
* @param index Regulator ID
|
||||||
* @param *voltage_mv If successful, voltage_mv is filled with current voltage
|
* @param *voltage_mv If successful, voltage_mv is filled with current voltage
|
||||||
* @return 0 on success, -1 on error
|
* @return 0 on success, -1 on error
|
||||||
|
Loading…
x
Reference in New Issue
Block a user