lvts_data
const struct lvts_data *lvts_data = lvts_ctrl->lvts_data;
lvts_write_config(lvts_ctrl, lvts_data->conn_cmd, lvts_data->num_conn_cmd);
const struct lvts_data *lvts_data = lvts_ctrl->lvts_data;
lvts_write_config(lvts_ctrl, lvts_data->init_cmd, lvts_data->num_init_cmd);
if (lvts_ctrl->lvts_data->msr_offset)
writel(lvts_ctrl->lvts_data->msr_offset,
const struct lvts_data *lvts_data)
ret = lvts_ctrl_init(dev, lvts_td, lvts_data);
const struct lvts_data *lvts_data;
lvts_data = of_device_get_match_data(dev);
if (!lvts_data)
golden_temp_offset = lvts_data->temp_offset;
ret = lvts_domain_init(dev, lvts_td, lvts_data);
const struct lvts_data *lvts_data;
static const struct lvts_data mt7987_lvts_ap_data = {
static const struct lvts_data mt7988_lvts_ap_data = {
static const struct lvts_data mt8186_lvts_data = {
static const struct lvts_data mt8188_lvts_mcu_data = {
static const struct lvts_data mt8188_lvts_ap_data = {
static const struct lvts_data mt8192_lvts_mcu_data = {
static const struct lvts_data mt8192_lvts_ap_data = {
static const struct lvts_data mt8195_lvts_mcu_data = {
static const struct lvts_data mt8195_lvts_ap_data = {
static const struct lvts_data mt8196_lvts_mcu_data = {
static const struct lvts_data mt8196_lvts_ap_data = {
static int lvts_raw_to_temp(u32 raw_temp, const struct lvts_data *lvts_data)
return lvts_data->ops->lvts_raw_to_temp(raw_temp & 0xFFFF, lvts_data->temp_factor);
static u32 lvts_temp_to_raw(int temperature, const struct lvts_data *lvts_data)
return lvts_data->ops->lvts_temp_to_raw(temperature, lvts_data->temp_factor);
const struct lvts_data *lvts_data = lvts_ctrl->lvts_data;
*temp = lvts_raw_to_temp(value, lvts_data);
const struct lvts_data *lvts_data = lvts_ctrl->lvts_data;
lvts_data);
u32 raw_high = lvts_temp_to_raw(high, lvts_data);
const struct lvts_data *lvts_data = lvts_ctrl->lvts_data;
gt = (((u32 *)efuse_calibration)[0] >> lvts_data->gt_calib_bit_offset) & 0xff;
lvts_data->num_cal_offsets,
if (lvts_ctrl->lvts_data->msr_offset)
lvts_ctrl->calibration[i] += lvts_ctrl->lvts_data->msr_offset;
} else if (lvts_ctrl->lvts_data->def_calibration) {
lvts_ctrl->calibration[i] = lvts_ctrl->lvts_data->def_calibration;
const struct lvts_data *lvts_data)
const struct lvts_data *lvts_data)
gt = (((u32 *)calib)[0] >> lvts_data->gt_calib_bit_offset) & 0xff;
golden_temp_offset = golden_temp * 500 + lvts_data->temp_offset;
const struct lvts_data *lvts_data)
size_t size = sizeof(*lvts_td->lvts_ctrl) * lvts_data->num_lvts_ctrl;
ret = lvts_calibration_read(dev, lvts_td, lvts_data);
ret = lvts_golden_temp_init(dev, lvts_td->calib, lvts_data);
for (i = 0; i < lvts_data->num_lvts_ctrl; i++) {
lvts_ctrl[i].base = lvts_td->base + lvts_data->lvts_ctrl[i].offset;
lvts_ctrl[i].lvts_data = lvts_data;
&lvts_data->lvts_ctrl[i]);
&lvts_data->lvts_ctrl[i],
lvts_ctrl[i].mode = lvts_data->lvts_ctrl[i].mode;
lvts_td->num_lvts_ctrl = lvts_data->num_lvts_ctrl;