Go to the documentation of this file.
50 #define LTP8800_PAGE 0x00
51 #define LTP8800_OPERATION 0x01
52 #define LTP8800_WRITE_PROTECT 0x10
53 #define LTP8800_STORE_USER_ALL 0x15
54 #define LTP8800_RESTORE_USER_ALL 0x16
55 #define LTP8800_VOUT_MODE 0x20
57 #define LTP8800_VOUT_COMMAND 0x21
58 #define LTP8800_VOUT_SCALE_LOOP 0x29
59 #define LTP8800_VOUT_SCALE_MONITOR 0x2A
61 #define LTP8800_FREQUENCY_SWITCH 0x33
62 #define LTP8800_VIN_ON 0x35
63 #define LTP8800_VIN_OFF 0x36
64 #define LTP8800_INTERLEAVE 0x37
66 #define LTP8800_VIN_OV_FAULT_LIMIT 0x55
67 #define LTP8800_VIN_UV_FAULT_LIMIT 0x59
68 #define LTP8800_IIN_OC_FAULT_LIMIT 0x5B
69 #define LTP8800_POUT_OP_FAULT_LIMIT 0x68
71 #define LTP8800_STATUS_BYTE 0x78
72 #define LTP8800_STATUS_WORD 0x79
73 #define LTP8800_STATUS_VOUT 0x7A
74 #define LTP8800_STATUS_IOUT 0x7B
75 #define LTP8800_STATUS_INPUT 0x7C
76 #define LTP8800_STATUS_TEMPERATURE 0x7D
77 #define LTP8800_STATUS_CML 0x7E
78 #define LTP8800_STATUS_OTHER 0x7F
79 #define LTP8800_STATUS_MFR_SPECIFIC 0x80
81 #define LTP8800_READ_VIN 0x88
82 #define LTP8800_READ_IIN 0x89
83 #define LTP8800_READ_VOUT 0x8B
84 #define LTP8800_READ_IOUT 0x8C
85 #define LTP8800_READ_TEMPERATURE_2 0x8E
86 #define LTP8800_READ_TEMPERATURE_3 0x8F
87 #define LTP8800_READ_DUTY_CYCLE 0x94
88 #define LTP8800_READ_FREQUENCY 0x95
89 #define LTP8800_READ_POUT 0x96
91 #define LTP8800_REVISION 0x98
92 #define LTP8800_MFR_ID 0x99
93 #define LTP8800_MFR_MODEL 0x9A
94 #define LTP8800_MFR_REVISION 0x9B
95 #define LTP8800_MFR_SERIAL 0x9E
96 #define LTP8800_IC_DEVICE_ID 0xAD
97 #define LTP8800_IC_DEVICE_REV 0xAE
99 #define LTP8800_EEPROM_PASSWORD 0xD5
101 #define LTP8800_GO_CMD 0xFE00
102 #define LTP8800_NM_DIGFILT_LF_GAIN 0xFE01
103 #define LTP8800_NM_DIGFILT_ZERO 0xFE02
104 #define LTP8800_NM_DIGFILT_POLE 0xFE03
105 #define LTP8800_NM_DIGFILT_HF_GAIN 0xFE04
106 #define LTP8800_SYNC 0xFE55
109 #define LTP8800_CRC_POLYNOMIAL 0x7
110 #define LTP8800_VOUT_MODE_VAL_MSK NO_OS_GENMASK(4,0)
113 #define LTP8800_LIN11_MANTISSA_MAX 1023L
114 #define LTP8800_LIN11_MANTISSA_MIN 511L
115 #define LTP8800_LIN11_EXPONENT_MAX 15
116 #define LTP8800_LIN11_EXPONENT_MIN -15
117 #define LTP8800_LIN11_MANTISSA_MSK NO_OS_GENMASK(10,0)
118 #define LTP8800_LIN11_EXPONENT_MSK NO_OS_GENMASK(15,11)
119 #define LTP8800_LIN11_EXPONENT(x) ((int16_t)(x) >> 11)
120 #define LTP8800_LIN11_MANTISSA(x) (((int16_t)((x & 0x7FF) << 5)) >> 5)
121 #define LTP8800_LIN16_EXPONENT -14
124 #define LTP8800_EXTENDED_COMMAND_PREFIX 0xFE
125 #define LTP8800_EXTENDED_COMMAND_BEGIN 0xFE00
126 #define LTP8800_COMMAND_LSB_MSK NO_OS_GENMASK(7, 0)
127 #define LTP8800_COMMAND_MSB_MSK NO_OS_GENMASK(15, 8)
130 #define LTP8800_STATUS_BYTE_TYPE_MSK 0x01
131 #define LTP8800_STATUS_VOUT_TYPE_MSK 0x02
132 #define LTP8800_STATUS_IOUT_TYPE_MSK 0x04
133 #define LTP8800_STATUS_INPUT_TYPE_MSK 0x08
134 #define LTP8800_STATUS_TEMP_TYPE_MSK 0x10
135 #define LTP8800_STATUS_CML_TYPE_MSK 0x20
136 #define LTP8800_STATUS_MFR_SPECIFIC_TYPE_MSK 0x40
137 #define LTP8800_STATUS_WORD_TYPE_MSK 0x80
138 #define LTP8800_STATUS_ALL_TYPE_MSK 0xFF
141 #define LTP8800_SYNC_ENABLE_BIT NO_OS_BIT(6)
142 #define LTP8800_SYNC_LATCH_BIT NO_OS_BIT(6)
143 #define LTP8800_WRITE_PROTECT_1_BIT NO_OS_BIT(7)
144 #define LTP8800_WRITE_PROTECT_2_BIT NO_OS_BIT(6)
145 #define LTP8800_WRITE_PROTECT_3_BIT NO_OS_BIT(5)
146 #define LTP8800_INTERLEAVE_ORDER_MSK NO_OS_GENMASK(3, 0)
149 #define LTP8800_IC_DEVICE_ID_VALUE {0x41, 0x55}
150 #define LTP8800_MAX_INTERLEAVE_ORDER 0xF
151 #define LTP8800_VOUT_COMMAND_MAX 1100
152 #define LTP8800_VOUT_COMMAND_MIN 500
153 #define LTP8800_VOUT_COMMAND_DEFAULT 0x3000
154 #define LTP8800_EEPROM_PASSWORD_VALUE 0xFF
155 #define LTP8800_EEPROM_LOCK_VALUE 0xAB
158 #define LTP8800_STATE_ON 1
159 #define LTP8800_STATE_OFF 0
267 uint8_t *data,
size_t nbytes);
#define MILLI
Definition: no_os_units.h:48
int ltp8800_send_byte(struct ltp8800_dev *dev, uint16_t cmd)
Send a PMBus command to the device.
Definition: ltp8800.c:439
ltp8800_value_type
Definition: ltp8800.h:161
void no_os_put_unaligned_be16(uint16_t val, uint8_t *buf)
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:79
int ltp8800_read_byte(struct ltp8800_dev *dev, uint16_t cmd, uint8_t *data)
Perform a raw PMBus read byte operation.
Definition: ltp8800.c:466
int ltp8800_init(struct ltp8800_dev **device, struct ltp8800_init_param *init_param)
Initialize the device structure.
Definition: ltp8800.c:289
Structure containing the init parameters needed by the PWM generator.
Definition: no_os_pwm.h:66
#define LTP8800_VOUT_COMMAND
Definition: ltp8800.h:57
@ LTP8800_POUT
Definition: ltp8800.h:170
#define LTP8800_NM_DIGFILT_LF_GAIN
Definition: ltp8800.h:102
@ LTP8800_VOUT_SETTING_UNITY
Definition: ltp8800.h:194
int32_t no_os_i2c_write(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Write data to slave device.
Definition: no_os_i2c.c:159
#define dev_err(dev, format,...)
Definition: ad9361_util.h:63
int32_t no_os_i2c_init(struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
Initialize the I2C communication peripheral.
Definition: no_os_i2c.c:52
void no_os_put_unaligned_le16(uint16_t val, uint8_t *buf)
ltp8800_vout_settings
Definition: ltp8800.h:192
bool crc_en
Definition: ltp8800.h:218
#define LTP8800_STATUS_MFR_SPECIFIC
Definition: ltp8800.h:79
int ltp8800_write_byte(struct ltp8800_dev *dev, uint16_t cmd, uint8_t value)
Perform a raw PMBus write byte operation.
Definition: ltp8800.c:507
Definition: ltp8800.h:197
#define LTP8800_IIN_OC_FAULT_LIMIT
Definition: ltp8800.h:68
#define LTP8800_SYNC_LATCH_BIT
Definition: ltp8800.h:142
#define LTP8800_STORE_USER_ALL
Definition: ltp8800.h:53
#define LTP8800_EEPROM_LOCK_VALUE
Definition: ltp8800.h:155
#define LTP8800_STATUS_VOUT
Definition: ltp8800.h:73
uint8_t byte
Definition: ltp8800.h:224
#define LTP8800_NM_DIGFILT_POLE
Definition: ltp8800.h:104
#define MICROWATT_PER_WATT
Definition: no_os_units.h:69
ltp8800_limit_type
Definition: ltp8800.h:173
int ltp8800_vout_settings(struct ltp8800_dev *dev, enum ltp8800_vout_settings settings)
Set output voltage and its upper limit.
Definition: ltp8800.c:819
int32_t no_os_pwm_remove(struct no_os_pwm_desc *desc)
Free the resources allocated by no_os_pwm_init().
Definition: no_os_pwm.c:79
int ltp8800_loop_compensation(struct ltp8800_dev *dev, uint8_t pole, uint8_t zero, uint8_t hf_gain, uint8_t lf_gain)
Program loop compensation for regulator transient response.
Definition: ltp8800.c:948
bool write_protect_en
Definition: ltp8800.h:215
int ltp8800_sync_config(struct ltp8800_dev *dev, bool enable)
Enable or disable sync pin.
Definition: ltp8800.c:887
int32_t no_os_i2c_remove(struct no_os_i2c_desc *desc)
Free the resources allocated by no_os_i2c_init().
Definition: no_os_i2c.c:113
int ltp8800_read_block_data(struct ltp8800_dev *dev, uint16_t cmd, uint8_t *data, size_t nbytes)
Perform a PMBus read block operation.
Definition: ltp8800.c:651
int ltp8800_read_word(struct ltp8800_dev *dev, uint16_t cmd, uint16_t *word)
Perform a raw PMBus read word operation.
Definition: ltp8800.c:536
#define LTP8800_STATUS_MFR_SPECIFIC_TYPE_MSK
Definition: ltp8800.h:136
Header file of Delay functions.
#define LTP8800_EEPROM_PASSWORD_VALUE
Definition: ltp8800.h:154
@ LTP8800_STATUS_CML_TYPE
Definition: ltp8800.h:186
int ltp8800_set_device_state(struct ltp8800_dev *dev, bool state)
Set device state.
Definition: ltp8800.c:978
#define LTP8800_LIN11_MANTISSA(x)
Definition: ltp8800.h:120
int ltp8800_store_user_settings(struct ltp8800_dev *dev)
Store user settings to EEPROM.
Definition: ltp8800.c:989
int ltp8800_read_status(struct ltp8800_dev *dev, enum ltp8800_status_type status_type, struct ltp8800_status *status)
Read statuses.
Definition: ltp8800.c:730
#define LTP8800_READ_VOUT
Definition: ltp8800.h:83
#define NO_OS_DIV_ROUND_CLOSEST_ULL(x, y)
Definition: no_os_util.h:56
#define LTP8800_VIN_UV_FAULT_LIMIT
Definition: ltp8800.h:67
#define LTP8800_STATUS_WORD
Definition: ltp8800.h:72
#define LTP8800_VOUT_SCALE_MONITOR
Definition: ltp8800.h:59
#define LTP8800_READ_TEMPERATURE_2
Definition: ltp8800.h:85
Definition: ad9361_util.h:69
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:117
struct no_os_gpio_desc * ctrl_desc
Definition: ltp8800.h:200
int ltp8800_read_byte(struct ltp8800_dev *dev, uint16_t cmd, uint8_t *data)
Perform a raw PMBus read byte operation.
Definition: ltp8800.c:466
int ltp8800_init(struct ltp8800_dev **device, struct ltp8800_init_param *init_param)
Initialize the device structure.
Definition: ltp8800.c:289
uint8_t vout
Definition: ltp8800.h:225
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
int32_t no_os_gpio_direction_input(struct no_os_gpio_desc *desc)
Enable the input direction of the specified GPIO.
Definition: no_os_gpio.c:124
struct no_os_pwm_desc * ext_clk_desc
Definition: ltp8800.h:201
int ltp8800_set_vin(struct ltp8800_dev *dev, int vin_on, int vin_off)
Set input voltage window at which power conversion will proceed.
Definition: ltp8800.c:846
#define LTP8800_STATUS_CML
Definition: ltp8800.h:77
@ LTP8800_STATUS_WORD_TYPE
Definition: ltp8800.h:188
@ LTP8800_DUTY_CYCLE
Definition: ltp8800.h:168
@ LTP8800_STATUS_ALL_TYPE
Definition: ltp8800.h:189
uint8_t cml
Definition: ltp8800.h:229
uint16_t word
Definition: ltp8800.h:223
#define LTP8800_NM_DIGFILT_ZERO
Definition: ltp8800.h:103
#define LTP8800_LIN11_MANTISSA_MIN
Definition: ltp8800.h:114
#define LTP8800_LIN11_EXPONENT_MIN
Definition: ltp8800.h:116
uint8_t slave_address
Definition: no_os_i2c.h:109
@ LTP8800_IIN_OC_FAULT_LIMIT_TYPE
Definition: ltp8800.h:176
#define LTP8800_STATUS_INPUT
Definition: ltp8800.h:75
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
#define LTP8800_NM_DIGFILT_HF_GAIN
Definition: ltp8800.h:105
uint8_t polyphase_order
Definition: ltp8800.h:206
#define LTP8800_INTERLEAVE_ORDER_MSK
Definition: ltp8800.h:146
#define LTP8800_RESTORE_USER_ALL
Definition: ltp8800.h:54
#define LTP8800_LIN11_EXPONENT_MAX
Definition: ltp8800.h:115
int ltp8800_write_word_data(struct ltp8800_dev *dev, uint16_t cmd, int data)
Converts value to register data and do PMBus write word operation.
Definition: ltp8800.c:630
bool crc_en
Definition: ltp8800.h:205
@ LTP8800_POUT_OP_FAULT_LIMIT_TYPE
Definition: ltp8800.h:177
@ LTP8800_FREQUENCY
Definition: ltp8800.h:169
int ltp8800_remove(struct ltp8800_dev *dev)
Free or remove device instance.
Definition: ltp8800.c:404
int ltp8800_read_value(struct ltp8800_dev *dev, enum ltp8800_value_type value_type, int *value)
Read a value.
Definition: ltp8800.c:710
int ltp8800_restore_user_settings(struct ltp8800_dev *dev)
Restore user settings.
Definition: ltp8800.c:1015
#define LTP8800_INTERLEAVE
Definition: ltp8800.h:64
@ LTP8800_STATUS_INPUT_TYPE
Definition: ltp8800.h:184
uint8_t polyphase_order
Definition: ltp8800.h:219
int ltp8800_set_device_state(struct ltp8800_dev *dev, bool state)
Set device state.
Definition: ltp8800.c:978
#define LTP8800_STATUS_TEMPERATURE
Definition: ltp8800.h:76
void no_os_crc8_populate_msb(uint8_t *table, const uint8_t polynomial)
int ltp8800_store_user_settings(struct ltp8800_dev *dev)
Store user settings to EEPROM.
Definition: ltp8800.c:989
#define MILLIVOLT_PER_VOLT
Definition: no_os_units.h:58
@ LTP8800_STATUS_IOUT_TYPE
Definition: ltp8800.h:183
int ltp8800_read_status(struct ltp8800_dev *dev, enum ltp8800_status_type status_type, struct ltp8800_status *status)
Read statuses.
Definition: ltp8800.c:730
#define LTP8800_WRITE_PROTECT_1_BIT
Definition: ltp8800.h:143
@ LTP8800_IOUT
Definition: ltp8800.h:165
uint8_t iout
Definition: ltp8800.h:226
int ltp8800_set_fault_limit(struct ltp8800_dev *dev, enum ltp8800_limit_type limit, int limit_val)
Set overvalue and undervalue limits.
Definition: ltp8800.c:873
int ltp8800_write_word(struct ltp8800_dev *dev, uint16_t cmd, uint16_t word)
Perform a raw PMBus write word operation.
Definition: ltp8800.c:580
#define LTP8800_READ_POUT
Definition: ltp8800.h:89
#define LTP8800_READ_IIN
Definition: ltp8800.h:82
#define LTP8800_LIN11_EXPONENT_MSK
Definition: ltp8800.h:118
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:104
#define LTP8800_READ_FREQUENCY
Definition: ltp8800.h:88
int ltp8800_sync_config(struct ltp8800_dev *dev, bool enable)
Enable or disable sync pin.
Definition: ltp8800.c:887
#define LTP8800_FREQUENCY_SWITCH
Definition: ltp8800.h:61
#define no_os_clamp(val, min_val, max_val)
Definition: no_os_util.h:69
int ltp8800_read_word_data(struct ltp8800_dev *dev, uint16_t cmd, int *data)
Perform a PMBus read word operation and converts to actual value.
Definition: ltp8800.c:610
uint8_t mfr_specific
Definition: ltp8800.h:230
#define LTP8800_EEPROM_PASSWORD
Definition: ltp8800.h:99
#define LTP8800_STATUS_WORD_TYPE_MSK
Definition: ltp8800.h:137
@ LTP8800_FORWARD_DIODE_TEMP
Definition: ltp8800.h:166
@ LTP8800_STATUS_BYTE_TYPE
Definition: ltp8800.h:181
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:96
int lin16_exp
Definition: ltp8800.h:203
struct no_os_gpio_init_param * ctrl_param
Definition: ltp8800.h:212
#define LTP8800_IC_DEVICE_ID
Definition: ltp8800.h:96
#define LTP8800_EXTENDED_COMMAND_BEGIN
Definition: ltp8800.h:125
int ltp8800_send_byte(struct ltp8800_dev *dev, uint16_t cmd)
Send a PMBus command to the device.
Definition: ltp8800.c:439
Structure representing an PWM generator device.
Definition: no_os_pwm.h:93
uint8_t input
Definition: ltp8800.h:227
#define LTP8800_VOUT_MODE
Definition: ltp8800.h:55
#define LTP8800_EXTENDED_COMMAND_PREFIX
Definition: ltp8800.h:124
Structure holding I2C address descriptor.
Definition: no_os_i2c.h:101
int32_t no_os_pwm_init(struct no_os_pwm_desc **desc, const struct no_os_pwm_init_param *param)
Initialize the PWM peripheral.
Definition: no_os_pwm.c:51
@ LTP8800_STATUS_MFR_SPECIFIC_TYPE
Definition: ltp8800.h:187
int32_t no_os_i2c_read(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C Read data from slave device.
Definition: no_os_i2c.c:190
Header file of I2C Interface.
@ LTP8800_VIN
Definition: ltp8800.h:162
#define LTP8800_VIN_ON
Definition: ltp8800.h:62
ltp8800_status_type
Definition: ltp8800.h:180
Header file of PWM Interface.
#define LTP8800_STATUS_IOUT
Definition: ltp8800.h:74
uint32_t no_os_field_get(uint32_t mask, uint32_t word)
struct no_os_gpio_desc * smbalert_desc
Definition: ltp8800.h:199
int ltp8800_write_byte(struct ltp8800_dev *dev, uint16_t cmd, uint8_t value)
Perform a raw PMBus write byte operation.
Definition: ltp8800.c:507
NO_OS_DECLARE_CRC8_TABLE(ltp8800_crc_table)
#define LTP8800_LIN11_MANTISSA_MSK
Definition: ltp8800.h:117
#define LTP8800_STATUS_TEMP_TYPE_MSK
Definition: ltp8800.h:134
uint8_t no_os_crc8(const uint8_t *table, const uint8_t *pdata, size_t nbytes, uint8_t crc)
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
int ltp8800_set_vin(struct ltp8800_dev *dev, int vin_on, int vin_off)
Set input voltage window at which power conversion will proceed.
Definition: ltp8800.c:846
#define LTP8800_READ_IOUT
Definition: ltp8800.h:84
uint16_t no_os_get_unaligned_le16(uint8_t *buf)
#define LTP8800_COMMAND_MSB_MSK
Definition: ltp8800.h:127
#define LTP8800_LIN11_EXPONENT(x)
Definition: ltp8800.h:119
int ltp8800_vout_value(struct ltp8800_dev *dev, int vout_command)
Set output voltage command.
Definition: ltp8800.c:802
int ltp8800_interleave_order(struct ltp8800_dev *dev, uint8_t order)
Set phase order for polyphase application.
Definition: ltp8800.c:914
#define LTP8800_SYNC_ENABLE_BIT
Definition: ltp8800.h:141
int ltp8800_set_fault_limit(struct ltp8800_dev *dev, enum ltp8800_limit_type limit, int limit_val)
Set overvalue and undervalue limits.
Definition: ltp8800.c:873
#define LTP8800_READ_TEMPERATURE_3
Definition: ltp8800.h:86
Definition: ltp8800.h:209
Structure holding the parameters for I2C initialization.
Definition: no_os_i2c.h:64
#define NULL
Definition: wrapper.h:64
struct no_os_gpio_init_param * smbalert_param
Definition: ltp8800.h:211
#define LTP8800_READ_VIN
Definition: ltp8800.h:81
#define LTP8800_CRC_POLYNOMIAL
Definition: ltp8800.h:109
struct no_os_i2c_desc * i2c_desc
Definition: ltp8800.h:198
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
int ltp8800_read_word(struct ltp8800_dev *dev, uint16_t cmd, uint16_t *word)
Perform a raw PMBus read word operation.
Definition: ltp8800.c:536
#define LTP8800_STATUS_VOUT_TYPE_MSK
Definition: ltp8800.h:131
#define LTP8800_STATUS_INPUT_TYPE_MSK
Definition: ltp8800.h:133
#define LTP8800_VOUT_COMMAND_MIN
Definition: ltp8800.h:152
int ltp8800_remove(struct ltp8800_dev *dev)
Free or remove device instance.
Definition: ltp8800.c:404
@ LTP8800_STATUS_TEMP_TYPE
Definition: ltp8800.h:185
#define LTP8800_VIN_OV_FAULT_LIMIT
Definition: ltp8800.h:66
#define LTP8800_STATUS_BYTE
Definition: ltp8800.h:71
@ LTP8800_VIN_UV_FAULT_LIMIT_TYPE
Definition: ltp8800.h:175
bool write_protect_en
Definition: ltp8800.h:204
#define LTP8800_GO_CMD
Definition: ltp8800.h:101
@ LTP8800_REVERSE_DIODE_TEMP
Definition: ltp8800.h:167
@ LTP8800_VOUT
Definition: ltp8800.h:164
#define LTP8800_STATUS_BYTE_TYPE_MSK
Definition: ltp8800.h:130
Header file of GPIO Interface.
struct no_os_i2c_init_param * i2c_init
Definition: ltp8800.h:210
#define LTP8800_VOUT_SCALE_LOOP
Definition: ltp8800.h:58
#define LTP8800_LIN11_MANTISSA_MAX
Definition: ltp8800.h:113
bool external_clk_en
Definition: ltp8800.h:216
#define LTP8800_SYNC
Definition: ltp8800.h:106
#define LTP8800_VOUT_COMMAND_DEFAULT
Definition: ltp8800.h:153
#define LTP8800_POUT_OP_FAULT_LIMIT
Definition: ltp8800.h:69
uint8_t temp
Definition: ltp8800.h:228
#define LTP8800_VIN_OFF
Definition: ltp8800.h:63
#define LTP8800_STATUS_IOUT_TYPE_MSK
Definition: ltp8800.h:132
@ LTP8800_VIN_OV_FAULT_LIMIT_TYPE
Definition: ltp8800.h:174
Header file of utility functions.
int32_t no_os_sign_extend32(uint32_t value, int index)
struct no_os_pwm_init_param * ext_clk_param
Definition: ltp8800.h:213
#define LTP8800_VOUT_COMMAND_MAX
Definition: ltp8800.h:151
int ltp8800_loop_compensation(struct ltp8800_dev *dev, uint8_t pole, uint8_t zero, uint8_t hf_gain, uint8_t lf_gain)
Program loop compensation for regulator transient response.
Definition: ltp8800.c:948
int ltp8800_write_word(struct ltp8800_dev *dev, uint16_t cmd, uint16_t word)
Perform a raw PMBus write word operation.
Definition: ltp8800.c:580
@ LTP8800_STATUS_VOUT_TYPE
Definition: ltp8800.h:182
#define LTP8800_COMMAND_LSB_MSK
Definition: ltp8800.h:126
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:147
@ LTP8800_VOUT_SETTING_ADI_FACTORY
Definition: ltp8800.h:193
#define LTP8800_WRITE_PROTECT
Definition: ltp8800.h:52
#define LTP8800_STATUS_CML_TYPE_MSK
Definition: ltp8800.h:135
int ltp8800_read_block_data(struct ltp8800_dev *dev, uint16_t cmd, uint8_t *data, size_t nbytes)
Perform a PMBus read block operation.
Definition: ltp8800.c:651
int ltp8800_vout_value(struct ltp8800_dev *dev, int vout_command)
Set output voltage command.
Definition: ltp8800.c:802
int ltp8800_interleave_order(struct ltp8800_dev *dev, uint8_t order)
Set phase order for polyphase application.
Definition: ltp8800.c:914
Header file of CRC-8 computation.
@ LTP8800_IIN
Definition: ltp8800.h:163
int ltp8800_write_word_data(struct ltp8800_dev *dev, uint16_t cmd, int data)
Converts value to register data and do PMBus write word operation.
Definition: ltp8800.c:630
Error macro definition for ARM Compiler.
#define LTP8800_STATUS_ALL_TYPE_MSK
Definition: ltp8800.h:138
#define LTP8800_READ_DUTY_CYCLE
Definition: ltp8800.h:87
#define LTP8800_MAX_INTERLEAVE_ORDER
Definition: ltp8800.h:150
int ltp8800_read_word_data(struct ltp8800_dev *dev, uint16_t cmd, int *data)
Perform a PMBus read word operation and converts to actual value.
Definition: ltp8800.c:610
int ltp8800_read_value(struct ltp8800_dev *dev, enum ltp8800_value_type value_type, int *value)
Read a value.
Definition: ltp8800.c:710
#define LTP8800_IC_DEVICE_ID_VALUE
Definition: ltp8800.h:149
int ltp8800_restore_user_settings(struct ltp8800_dev *dev)
Restore user settings.
Definition: ltp8800.c:1015
bool sync_en
Definition: ltp8800.h:217
Definition: ltp8800.h:222
int32_t no_os_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition: no_os_gpio.c:75