xref: /openbmc/qemu/include/hw/sensor/isl_pmbus_vr.h (revision 44bfcf628b1531f11ecc21ae96d025a238e1083f)
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