blob: aa2c2767df90da96739458786551fe4c15d18892 [file] [log] [blame]
/*
* PMBus device for Renesas Digital Multiphase Voltage Regulators
*
* Copyright 2022 Google LLC
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef HW_MISC_ISL_PMBUS_VR_H
#define HW_MISC_ISL_PMBUS_VR_H
#include "hw/i2c/pmbus_device.h"
#include "qom/object.h"
#define TYPE_ISL69259 "isl69259"
#define TYPE_ISL69260 "isl69260"
#define TYPE_RAA228000 "raa228000"
#define TYPE_RAA229004 "raa229004"
#define ISL_MAX_IC_DEVICE_ID_LEN 16
struct ISLState {
PMBusDevice parent;
uint8_t ic_device_id[ISL_MAX_IC_DEVICE_ID_LEN];
uint8_t ic_device_id_len;
};
OBJECT_DECLARE_SIMPLE_TYPE(ISLState, ISL69260)
#define ISL_CAPABILITY_DEFAULT 0x40
#define ISL_OPERATION_DEFAULT 0x80
#define ISL_ON_OFF_CONFIG_DEFAULT 0x16
#define ISL_VOUT_MODE_DEFAULT 0x40
#define ISL_VOUT_COMMAND_DEFAULT 0x0384
#define ISL_VOUT_MAX_DEFAULT 0x08FC
#define ISL_VOUT_MARGIN_HIGH_DEFAULT 0x0640
#define ISL_VOUT_MARGIN_LOW_DEFAULT 0xFA
#define ISL_VOUT_TRANSITION_RATE_DEFAULT 0x64
#define ISL_VOUT_OV_FAULT_LIMIT_DEFAULT 0x076C
#define ISL_OT_FAULT_LIMIT_DEFAULT 0x7D
#define ISL_OT_WARN_LIMIT_DEFAULT 0x07D0
#define ISL_VIN_OV_WARN_LIMIT_DEFAULT 0x36B0
#define ISL_VIN_UV_WARN_LIMIT_DEFAULT 0x1F40
#define ISL_IIN_OC_FAULT_LIMIT_DEFAULT 0x32
#define ISL_TON_DELAY_DEFAULT 0x14
#define ISL_TON_RISE_DEFAULT 0x01F4
#define ISL_TOFF_FALL_DEFAULT 0x01F4
#define ISL_REVISION_DEFAULT 0x33
#define ISL_READ_VOUT_DEFAULT 1000
#define ISL_READ_IOUT_DEFAULT 40
#define ISL_READ_POUT_DEFAULT 4
#define ISL_READ_TEMP_DEFAULT 25
#define ISL_READ_VIN_DEFAULT 1100
#define ISL_READ_IIN_DEFAULT 40
#define ISL_READ_PIN_DEFAULT 4
#endif