1ffcdae67STitus Rwantare /* 2ffcdae67STitus Rwantare * PMBus device for Renesas Digital Multiphase Voltage Regulators 3ffcdae67STitus Rwantare * 4ffcdae67STitus Rwantare * Copyright 2022 Google LLC 5ffcdae67STitus Rwantare * 6ffcdae67STitus Rwantare * SPDX-License-Identifier: GPL-2.0-or-later 7ffcdae67STitus Rwantare */ 8ffcdae67STitus Rwantare 9ffcdae67STitus Rwantare #ifndef HW_MISC_ISL_PMBUS_VR_H 10ffcdae67STitus Rwantare #define HW_MISC_ISL_PMBUS_VR_H 11ffcdae67STitus Rwantare 12ffcdae67STitus Rwantare #include "hw/i2c/pmbus_device.h" 13ffcdae67STitus Rwantare #include "qom/object.h" 14ffcdae67STitus Rwantare 15*e51ae825SPeter Delevoryas #define TYPE_ISL69259 "isl69259" 16ffcdae67STitus Rwantare #define TYPE_ISL69260 "isl69260" 175f14cd70STitus Rwantare #define TYPE_RAA228000 "raa228000" 181c0c52f7STitus Rwantare #define TYPE_RAA229004 "raa229004" 19*e51ae825SPeter Delevoryas #define ISL_MAX_IC_DEVICE_ID_LEN 16 20ffcdae67STitus Rwantare 21ffcdae67STitus Rwantare struct ISLState { 22ffcdae67STitus Rwantare PMBusDevice parent; 23*e51ae825SPeter Delevoryas 24*e51ae825SPeter Delevoryas uint8_t ic_device_id[ISL_MAX_IC_DEVICE_ID_LEN]; 25*e51ae825SPeter Delevoryas uint8_t ic_device_id_len; 26ffcdae67STitus Rwantare }; 27ffcdae67STitus Rwantare 28ffcdae67STitus Rwantare OBJECT_DECLARE_SIMPLE_TYPE(ISLState, ISL69260) 29ffcdae67STitus Rwantare 30ffcdae67STitus Rwantare #define ISL_CAPABILITY_DEFAULT 0x40 31ffcdae67STitus Rwantare #define ISL_OPERATION_DEFAULT 0x80 32ffcdae67STitus Rwantare #define ISL_ON_OFF_CONFIG_DEFAULT 0x16 33ffcdae67STitus Rwantare #define ISL_VOUT_MODE_DEFAULT 0x40 34ffcdae67STitus Rwantare #define ISL_VOUT_COMMAND_DEFAULT 0x0384 35ffcdae67STitus Rwantare #define ISL_VOUT_MAX_DEFAULT 0x08FC 36ffcdae67STitus Rwantare #define ISL_VOUT_MARGIN_HIGH_DEFAULT 0x0640 37ffcdae67STitus Rwantare #define ISL_VOUT_MARGIN_LOW_DEFAULT 0xFA 38ffcdae67STitus Rwantare #define ISL_VOUT_TRANSITION_RATE_DEFAULT 0x64 39ffcdae67STitus Rwantare #define ISL_VOUT_OV_FAULT_LIMIT_DEFAULT 0x076C 40ffcdae67STitus Rwantare #define ISL_OT_FAULT_LIMIT_DEFAULT 0x7D 41ffcdae67STitus Rwantare #define ISL_OT_WARN_LIMIT_DEFAULT 0x07D0 42ffcdae67STitus Rwantare #define ISL_VIN_OV_WARN_LIMIT_DEFAULT 0x36B0 43ffcdae67STitus Rwantare #define ISL_VIN_UV_WARN_LIMIT_DEFAULT 0x1F40 44ffcdae67STitus Rwantare #define ISL_IIN_OC_FAULT_LIMIT_DEFAULT 0x32 45ffcdae67STitus Rwantare #define ISL_TON_DELAY_DEFAULT 0x14 46ffcdae67STitus Rwantare #define ISL_TON_RISE_DEFAULT 0x01F4 47ffcdae67STitus Rwantare #define ISL_TOFF_FALL_DEFAULT 0x01F4 48ffcdae67STitus Rwantare #define ISL_REVISION_DEFAULT 0x33 49ffcdae67STitus Rwantare #define ISL_READ_VOUT_DEFAULT 1000 50ffcdae67STitus Rwantare #define ISL_READ_IOUT_DEFAULT 40 51ffcdae67STitus Rwantare #define ISL_READ_POUT_DEFAULT 4 52ffcdae67STitus Rwantare #define ISL_READ_TEMP_DEFAULT 25 53ffcdae67STitus Rwantare #define ISL_READ_VIN_DEFAULT 1100 54ffcdae67STitus Rwantare #define ISL_READ_IIN_DEFAULT 40 55ffcdae67STitus Rwantare #define ISL_READ_PIN_DEFAULT 4 56ffcdae67STitus Rwantare 57ffcdae67STitus Rwantare #endif 58