/* * 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