no-OS
ltm4686.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef __LTM4686_H__
34 #define __LTM4686_H__
35 
36 #include <stdint.h>
37 #include <string.h>
38 #include "no_os_util.h"
39 #include "no_os_i2c.h"
40 
41 /* PMBus commands */
42 #define LTM4686_PAGE 0x00
43 #define LTM4686_OPERATION 0x01
44 #define LTM4686_ON_OFF_CONFIG 0x02
45 #define LTM4686_CLEAR_FAULTS 0x03
46 #define LTM4686_PAGE_PLUS_WRITE 0x05
47 #define LTM4686_PAGE_PLUS_READ 0x06
48 
49 #define LTM4686_WRITE_PROTECT 0x10
50 #define LTM4686_STORE_USER_ALL 0x15
51 #define LTM4686_RESTORE_USER_ALL 0x16
52 
53 #define LTM4686_CAPABILITY 0x19
54 #define LTM4686_SMBALERT_MASK 0x1B
55 
56 #define LTM4686_VOUT_MODE 0x20
57 #define LTM4686_VOUT_COMMAND 0x21
58 #define LTM4686_VOUT_MAX 0x24
59 #define LTM4686_VOUT_MARGIN_HIGH 0x25
60 #define LTM4686_VOUT_MARGIN_LOW 0x26
61 #define LTM4686_VOUT_TRANSITION_RATE 0x27
62 
63 #define LTM4686_FREQUENCY_SWITCH 0x33
64 #define LTM4686_VIN_ON 0x35
65 #define LTM4686_VIN_OFF 0x36
66 #define LTM4686_IOUT_CAL_GAIN 0x38
67 
68 #define LTM4686_VOUT_OV_FAULT_LIMIT 0x40
69 #define LTM4686_VOUT_OV_FAULT_RESPONSE 0x41
70 #define LTM4686_VOUT_OV_WARN_LIMIT 0x42
71 #define LTM4686_VOUT_UV_WARN_LIMIT 0x43
72 #define LTM4686_VOUT_UV_FAULT_LIMIT 0x44
73 #define LTM4686_VOUT_UV_FAULT_RESPONSE 0x45
74 #define LTM4686_IOUT_OC_FAULT_LIMIT 0x46
75 #define LTM4686_IOUT_OC_FAULT_RESPONSE 0x47
76 #define LTM4686_IOUT_OC_WARN_LIMIT 0x4A
77 
78 #define LTM4686_OT_FAULT_LIMIT 0x4F
79 #define LTM4686_OT_FAULT_RESPONSE 0x50
80 #define LTM4686_OT_WARN_LIMIT 0x51
81 #define LTM4686_UT_FAULT_LIMIT 0x53
82 #define LTM4686_UT_FAULT_RESPONSE 0x54
83 
84 #define LTM4686_VIN_OV_FAULT_LIMIT 0x55
85 #define LTM4686_VIN_OV_FAULT_RESPONSE 0x56
86 #define LTM4686_VIN_UV_WARN_LIMIT 0x58
87 #define LTM4686_IIN_OC_WARN_LIMIT 0x5D
88 
89 #define LTM4686_TON_DELAY 0x60
90 #define LTM4686_TON_RISE 0x61
91 #define LTM4686_TON_MAX_FAULT_LIMIT 0x62
92 #define LTM4686_TON_MAX_FAULT_RESPONSE 0x63
93 #define LTM4686_TOFF_DELAY 0x64
94 #define LTM4686_TOFF_FALL 0x65
95 #define LTM4686_TOFF_MAX_WARN_LIMIT 0x66
96 
97 #define LTM4686_STATUS_BYTE 0x78
98 #define LTM4686_STATUS_WORD 0x79
99 #define LTM4686_STATUS_VOUT 0x7A
100 #define LTM4686_STATUS_IOUT 0x7B
101 #define LTM4686_STATUS_INPUT 0x7C
102 #define LTM4686_STATUS_TEMPERATURE 0x7D
103 #define LTM4686_STATUS_CML 0x7E
104 #define LTM4686_STATUS_MFR_SPECIFIC 0x80
105 
106 #define LTM4686_READ_VIN 0x88
107 #define LTM4686_READ_IIN 0x89
108 #define LTM4686_READ_VOUT 0x8B
109 #define LTM4686_READ_IOUT 0x8C
110 #define LTM4686_READ_TEMPERATURE_1 0x8D
111 #define LTM4686_READ_TEMPERATURE_2 0x8E
112 #define LTM4686_READ_DUTY_CYCLE 0x94
113 #define LTM4686_READ_POUT 0x96
114 
115 #define LTM4686_REVISION 0x98
116 #define LTM4686_MFR_ID 0x99
117 #define LTM4686_MFR_MODEL 0x9A
118 #define LTM4686_MFR_SERIAL 0x9E
119 #define LTM4686_MFR_VOUT_MAX 0xA5
120 
121 #define LTM4686_MFR_USER_DATA_00 0xB0
122 #define LTM4686_MFR_USER_DATA_01 0xB1
123 #define LTM4686_MFR_USER_DATA_02 0xB2
124 #define LTM4686_MFR_USER_DATA_03 0xB3
125 #define LTM4686_MFR_USER_DATA_04 0xB4
126 
127 #define LTM4686_MFR_INFO 0xB6
128 #define LTM4686_MFR_EE_UNLOCK 0xBD
129 #define LTM4686_MFR_EE_ERASE 0xBE
130 #define LTM4686_MFR_EE_DATA 0xBF
131 
132 #define LTM4686_MFR_CHAN_CONFIG 0xD0
133 #define LTM4686_MFR_CONFIG_ALL 0xD1
134 #define LTM4686_MFR_GPIO_PROPAGATE 0xD2
135 #define LTM4686_MFR_PWM_MODE 0xD4
136 #define LTM4686_MFR_GPIO_RESPONSE 0xD5
137 #define LTM4686_MFR_OT_FAULT_RESPONSE 0xD6
138 #define LTM4686_MFR_IOUT_PEAK 0xD7
139 #define LTM4686_MFR_ADC_CONTROL 0xD8
140 #define LTM4686_MFR_ADC_TELEMETRY_STATUS 0xDA
141 #define LTM4686_MFR_RETRY_DELAY 0xDB
142 #define LTM4686_MFR_RESTART_DELAY 0xDC
143 #define LTM4686_MFR_VOUT_PEAK 0xDD
144 #define LTM4686_MFR_VIN_PEAK 0xDE
145 #define LTM4686_MFR_TEMPERATURE_1_PEAK 0xDF
146 #define LTM4686_MFR_CLEAR_PEAKS 0xE3
147 #define LTM4686_MFR_PADS 0xE5
148 #define LTM4686_MFR_ADDRESS 0xE6
149 #define LTM4686_MFR_SPECIAL_ID 0xE7
150 #define LTM4686_MFR_IIN_OFFSET 0xE9
151 #define LTM4686_MFR_FAULT_LOG_STORE 0xEA
152 #define LTM4686_MFR_FAULT_LOG_CLEAR 0xEC
153 #define LTM4686_MFR_READ_IIN 0xED
154 #define LTM4686_MFR_FAULT_LOG 0xEE
155 #define LTM4686_MFR_COMMON 0xEF
156 #define LTM4686_MFR_COMPARE_USER_ALL 0xF0
157 #define LTM4686_MFR_TEMPERATURE_2_PEAK 0xF4
158 #define LTM4686_MFR_PWM_CONFIG 0xF5
159 #define LTM4686_MFR_IOUT_CAL_GAIN_TC 0xF6
160 #define LTM4686_MFR_TEMP_1_GAIN 0xF8
161 #define LTM4686_MFR_TEMP_1_OFFSET 0xF9
162 #define LTM4686_MFR_RAIL_ADDRESS 0xFA
163 #define LTM4686_MFR_RESET 0xFD
164 
165 /* LTM4673 manufacturer-specific commands */
166 #define LTM4673_MFR_FAULTB0_PROPAGATE 0xD2
167 #define LTM4673_MFR_FAULTB1_PROPAGATE 0xD3
168 #define LTM4673_MFR_PWRGD_ENABLE 0xD4
169 #define LTM4673_MFR_FAULTB0_RESPONSE 0xD5
170 #define LTM4673_MFR_FAULTB1_RESPONSE 0xD6
171 #define LTM4673_MFR_IOUT_MIN 0xD8
172 #define LTM4673_MFR_CONFIG2 0xD9
173 #define LTM4673_MFR_CONFIG3 0xDA
174 #define LTM4673_MFR_DAC 0xE0
175 #define LTM4673_MFR_PGD_ASSERTION_DELAY 0xE1
176 #define LTM4673_MFR_WATCHDOG_T_FIRST 0xE2
177 #define LTM4673_MFR_WATCHDOG_T 0xE3
178 #define LTM4673_MFR_PAGE_FF_MASK 0xE4
179 #define LTM4673_MFR_IIN_CAL_GAIN 0xE8
180 #define LTM4673_MFR_VOUT_DISCHARGE_THRESHOLD 0xE9
181 #define LTM4673_MFR_FAULT_LOG_RESTORE 0xEB
182 #define LTM4673_MFR_FAULT_LOG_STATUS 0xED
183 #define LTM4673_MFR_RETRY_COUNT 0xF7
184 #define LTM4673_MFR_IOUT_SENSE_VOLTAGE 0xFA
185 #define LTM4673_MFR_VOUT_MIN 0xFB
186 #define LTM4673_MFR_VIN_MIN 0xFC
187 #define LTM4673_MFR_TEMPERATURE_1_MIN 0xFD
188 
189 /* PMBus-specific parameters */
190 #define LTM4686_CRC_POLYNOMIAL 0x7
191 #define LTM4686_VOUT_MODE_VAL_MSK NO_OS_GENMASK(4,0)
192 
193 /* LINEAR data format params */
194 #define LTM4686_LIN11_MANTISSA_MAX 1023L
195 #define LTM4686_LIN11_MANTISSA_MIN 511L
196 #define LTM4686_LIN11_EXPONENT_MAX 15
197 #define LTM4686_LIN11_EXPONENT_MIN -15
198 #define LTM4686_LIN11_MANTISSA_MSK NO_OS_GENMASK(10,0)
199 #define LTM4686_LIN11_EXPONENT_MSK NO_OS_GENMASK(15,11)
200 #define LTM4686_LIN11_EXPONENT(x) ((int16_t)(x) >> 11)
201 #define LTM4686_LIN11_MANTISSA(x) (((int16_t)((x & 0x7FF) << 5)) >> 5)
202 #define LTM4686_LIN16_EXPONENT -12
203 
204 /* LTM4686 channel numbers */
205 #define LTM4686_CHAN_0 0x0
206 #define LTM4686_CHAN_1 0x1
207 #define LTM4686_CHAN_2 0x2
208 #define LTM4686_CHAN_3 0x3
209 #define LTM4686_CHAN_ALL 0xFF
210 
211 /* Status types masks */
212 #define LTM4686_STATUS_BYTE_TYPE_MSK 0x01
213 #define LTM4686_STATUS_VOUT_TYPE_MSK 0x02
214 #define LTM4686_STATUS_IOUT_TYPE_MSK 0x04
215 #define LTM4686_STATUS_INPUT_TYPE_MSK 0x08
216 #define LTM4686_STATUS_TEMP_TYPE_MSK 0x10
217 #define LTM4686_STATUS_CML_TYPE_MSK 0x20
218 #define LTM4686_STATUS_MFR_SPECIFIC_TYPE_MSK 0x40
219 #define LTM4686_STATUS_WORD_TYPE_MSK 0x80
220 #define LTM4686_STATUS_ALL_TYPE_MSK 0xFF
221 
222 /* LTM4686 configurable bits and masks */
223 #define LTM4686_PWM_OP_MODE_BIT NO_OS_BIT(0)
224 #define LTM4686_CONFIG_ALL_DIS_SYNC_BIT NO_OS_BIT(4)
225 #define LTM4686_CONFIG_ALL_PEC_BIT NO_OS_BIT(2)
226 
227 /* LTM4686 ID values */
228 #define LTM4686_ID_MSK 0xFFF0
229 #define LTM4686_SPECIAL_ID_VALUE 0x4770
230 #define LTM4673_SPECIAL_ID_VALUE_REV_1 0x0230
231 #define LTM4673_SPECIAL_ID_VALUE_REV_2 0x4480
232 
237 };
238 
242 };
243 
250 };
251 
265 };
266 
277 };
278 
286 };
287 
298 };
299 
304 };
305 
309 };
310 
311 struct ltm4686_dev {
317 
319  int page;
321  bool crc_en;
322  uint8_t num_channels;
323 };
324 
331 
334  bool crc_en;
335 };
336 
338  uint8_t num_channels;
339 };
340 
342  uint16_t word;
343  uint8_t byte;
344  uint8_t vout;
345  uint8_t iout;
346  uint8_t input;
347  uint8_t temp;
348  uint8_t cml;
349  uint8_t mfr_specific;
350 };
351 
352 /* Initialize the device structure */
353 int ltm4686_init(struct ltm4686_dev **device,
355 
356 /* Free or remove device instance */
357 int ltm4686_remove(struct ltm4686_dev *dev);
358 
359 /* Set PMBus page and phase */
360 int ltm4686_set_page(struct ltm4686_dev *dev, int page);
361 
362 /* Send a PMBus command to the device */
363 int ltm4686_send_byte(struct ltm4686_dev *dev, int page, uint8_t cmd);
364 
365 /* Perform a PMBus read_byte operation */
366 int ltm4686_read_byte(struct ltm4686_dev *dev, int page,
367  uint8_t cmd, uint8_t *data);
368 
369 /* Perform a PMBus write_byte operation */
370 int ltm4686_write_byte(struct ltm4686_dev *dev, int page,
371  uint8_t cmd, uint8_t value);
372 
373 /* Perform a PMBus read_word operation */
374 int ltm4686_read_word(struct ltm4686_dev *dev, int page,
375  uint8_t cmd, uint16_t *word);
376 
377 /* Perform a PMBus write_word operation */
378 int ltm4686_write_word(struct ltm4686_dev *dev, int page,
379  uint8_t cmd, uint16_t word);
380 
381 /* Perform a PMBus read_word operation then perform conversion*/
382 int ltm4686_read_word_data(struct ltm4686_dev *dev, int page,
383  uint8_t cmd, int *data);
384 
385 /* Perform conversion then perform a PMBus write_word operation */
386 int ltm4686_write_word_data(struct ltm4686_dev *dev, int page,
387  uint8_t cmd, int data);
388 
389 /* Read a block of bytes */
390 int ltm4686_read_block_data(struct ltm4686_dev *dev, int page, uint8_t cmd,
391  uint8_t *data, size_t nbytes);
392 
393 /* Read specific value type */
394 int ltm4686_read_value(struct ltm4686_dev *dev,
395  uint8_t channel,
396  enum ltm4686_value_type value_type,
397  int *value);
398 
399 /* Read status */
400 int ltm4686_read_status(struct ltm4686_dev *dev,
401  uint8_t channel,
402  enum ltm4686_status_type status_type,
403  struct ltm4686_status *status);
404 
405 /* Set VOUT parameters: VOUT_COMMAND and VOUT_MAX */
406 int ltm4686_vout_value(struct ltm4686_dev *dev, uint8_t channel,
407  int vout_command, int vout_max);
408 
409 /* Set VOUT transition rate in microvolt per milliseconds */
410 int ltm4686_vout_tr(struct ltm4686_dev *dev, uint8_t channel, int tr);
411 
412 /* Set VOUT margins */
413 int ltm4686_vout_margin(struct ltm4686_dev *dev, uint8_t channel,
414  int margin_low, int margin_high);
415 
416 /* Set VIN threshold when to start power conversion */
417 int ltm4686_set_vin(struct ltm4686_dev *dev, int vin_on, int vin_off);
418 
419 /* Set timing values in microseconds */
420 int ltm4686_set_timing(struct ltm4686_dev *dev, uint8_t channel,
421  enum ltm4686_timing_type timing_type, int time);
422 
423 /* Set switching frequency */
424 int ltm4686_switch_freq(struct ltm4686_dev *dev, enum ltm4686_freq freq);
425 
426 /* Set PWM mode of a channel */
427 int ltm4686_pwm_mode(struct ltm4686_dev *dev, uint8_t channel,
428  enum ltm4686_pwm_mode pwm_mode);
429 
430 /* Set operation */
431 int ltm4686_set_operation(struct ltm4686_dev *dev, uint8_t channel,
432  enum ltm4686_operation_type operation);
433 
434 /* NVM/EEPROM user commands */
435 int ltm4686_nvm_cmd(struct ltm4686_dev *dev, enum ltm4686_nvm_cmd_type cmd);
436 
437 /* Software reset */
438 int ltm4686_software_reset(struct ltm4686_dev *dev);
439 
440 #endif /* __LTM4686_H__ */
LTM4686_READ_VIN
#define LTM4686_READ_VIN
Definition: ltm4686.h:106
LTM4686_STATUS_MFR_SPECIFIC
#define LTM4686_STATUS_MFR_SPECIFIC
Definition: ltm4686.h:104
LTM4686_LIN16_EXPONENT
#define LTM4686_LIN16_EXPONENT
Definition: ltm4686.h:202
LTM4686_RESTART_DELAY
@ LTM4686_RESTART_DELAY
Definition: ltm4686.h:285
ltm4686_status::mfr_specific
uint8_t mfr_specific
Definition: ltm4686.h:349
MILLI
#define MILLI
Definition: no_os_units.h:48
LTM4686_MFR_IOUT_CAL_GAIN_TC
#define LTM4686_MFR_IOUT_CAL_GAIN_TC
Definition: ltm4686.h:159
no_os_alloc.h
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:79
LTM4686_MFR_TEMP_1_OFFSET
#define LTM4686_MFR_TEMP_1_OFFSET
Definition: ltm4686.h:161
ltm4686_write_byte
int ltm4686_write_byte(struct ltm4686_dev *dev, int page, uint8_t cmd, uint8_t value)
Perform a raw PMBus write byte operation.
Definition: ltm4686.c:743
no_os_i2c_write
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
ltm4686_software_reset
int ltm4686_software_reset(struct ltm4686_dev *dev)
Perform a device software reset.
Definition: ltm4686.c:1241
ltm4686_timing_type
ltm4686_timing_type
Definition: ltm4686.h:279
dev_err
#define dev_err(dev, format,...)
Definition: ad9361_util.h:63
LTM4686_STATUS_BYTE_TYPE
@ LTM4686_STATUS_BYTE_TYPE
Definition: ltm4686.h:269
no_os_i2c_init
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
ltm4686_vout_margin
int ltm4686_vout_margin(struct ltm4686_dev *dev, uint8_t channel, int margin_low, int margin_high)
Set output voltage margin.
Definition: ltm4686.c:1083
ltm4686_write_word
int ltm4686_write_word(struct ltm4686_dev *dev, int page, uint8_t cmd, uint16_t word)
Perform a raw PMBus write word operation.
Definition: ltm4686.c:815
no_os_put_unaligned_le16
void no_os_put_unaligned_le16(uint16_t val, uint8_t *buf)
LTM4686_PWM_FORCED_CONTINUOUS_MODE
@ LTM4686_PWM_FORCED_CONTINUOUS_MODE
Definition: ltm4686.h:307
LTM4686_TON_DELAY_TYPE
@ LTM4686_TON_DELAY_TYPE
Definition: ltm4686.h:280
ltm4686_pwm_mode
ltm4686_pwm_mode
Definition: ltm4686.h:306
ltm4686_status::temp
uint8_t temp
Definition: ltm4686.h:347
ltm4686_init_param::crc_en
bool crc_en
Definition: ltm4686.h:334
ltm4686_write_byte
int ltm4686_write_byte(struct ltm4686_dev *dev, int page, uint8_t cmd, uint8_t value)
Perform a raw PMBus write byte operation.
Definition: ltm4686.c:743
LTM4686_IOUT_CAL_GAIN
#define LTM4686_IOUT_CAL_GAIN
Definition: ltm4686.h:66
ltm4686_chip_id
ltm4686_chip_id
Definition: ltm4686.h:233
LTM4686_STATUS_BYTE_TYPE_MSK
#define LTM4686_STATUS_BYTE_TYPE_MSK
Definition: ltm4686.h:212
ltm4686_dev::id
enum ltm4686_chip_id id
Definition: ltm4686.h:318
ltm4686_nvm_cmd
int ltm4686_nvm_cmd(struct ltm4686_dev *dev, enum ltm4686_nvm_cmd_type cmd)
Perform commands for non-volatile memory/EEPROM.
Definition: ltm4686.c:1230
ltm4686_send_byte
int ltm4686_send_byte(struct ltm4686_dev *dev, int page, uint8_t cmd)
Send a PMBus command to the device.
Definition: ltm4686.c:682
ltm4686_vout_tr
int ltm4686_vout_tr(struct ltm4686_dev *dev, uint8_t channel, int tr)
Set output voltage transition rate.
Definition: ltm4686.c:1068
MICROWATT_PER_WATT
#define MICROWATT_PER_WATT
Definition: no_os_units.h:69
ltm4686_read_value
int ltm4686_read_value(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_value_type value_type, int *value)
Read a value.
Definition: ltm4686.c:946
LTM4686_UT_FAULT_RESPONSE
#define LTM4686_UT_FAULT_RESPONSE
Definition: ltm4686.h:82
LTM4686_MFR_VIN_PEAK
#define LTM4686_MFR_VIN_PEAK
Definition: ltm4686.h:144
ltm4686_read_word_data
int ltm4686_read_word_data(struct ltm4686_dev *dev, int page, uint8_t cmd, int *data)
Perform a PMBus read word operation and converts to actual value.
Definition: ltm4686.c:845
LTM4686_STATUS_VOUT
#define LTM4686_STATUS_VOUT
Definition: ltm4686.h:99
LTM4686_VOUT
@ LTM4686_VOUT
Definition: ltm4686.h:255
LTM4686_OT_FAULT_LIMIT
#define LTM4686_OT_FAULT_LIMIT
Definition: ltm4686.h:78
LTM4686_CONFIG_ALL_PEC_BIT
#define LTM4686_CONFIG_ALL_PEC_BIT
Definition: ltm4686.h:225
LTM4686_LIN11_EXPONENT_MAX
#define LTM4686_LIN11_EXPONENT_MAX
Definition: ltm4686.h:196
no_os_i2c_remove
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
LTM4686_TOFF_DELAY_TYPE
@ LTM4686_TOFF_DELAY_TYPE
Definition: ltm4686.h:282
LTM4686_TEMP_TSNS
@ LTM4686_TEMP_TSNS
Definition: ltm4686.h:257
LTM4686_STATUS_IOUT
#define LTM4686_STATUS_IOUT
Definition: ltm4686.h:100
no_os_units.h
Header file of Units.
LTM4686_MFR_RESTART_DELAY
#define LTM4686_MFR_RESTART_DELAY
Definition: ltm4686.h:142
LTM4686_MFR_VOUT_PEAK
#define LTM4686_MFR_VOUT_PEAK
Definition: ltm4686.h:143
ID_LTM4686B
@ ID_LTM4686B
Definition: ltm4686.h:235
LTM4686_STORE_USER_ALL
#define LTM4686_STORE_USER_ALL
Definition: ltm4686.h:50
LTM4686_VOUT_MARGIN_HIGH
#define LTM4686_VOUT_MARGIN_HIGH
Definition: ltm4686.h:59
LTM4686_READ_TEMPERATURE_2
#define LTM4686_READ_TEMPERATURE_2
Definition: ltm4686.h:111
LTM4686_MFR_USER_DATA_03
#define LTM4686_MFR_USER_DATA_03
Definition: ltm4686.h:124
ltm4686_status::input
uint8_t input
Definition: ltm4686.h:346
LTM4686_MFR_TEMP_1_GAIN
#define LTM4686_MFR_TEMP_1_GAIN
Definition: ltm4686.h:160
LTM4686_MFR_PWM_MODE
#define LTM4686_MFR_PWM_MODE
Definition: ltm4686.h:135
ltm4686_status::iout
uint8_t iout
Definition: ltm4686.h:345
no_os_delay.h
Header file of Delay functions.
LTM4686_DUTY_CYCLE
@ LTM4686_DUTY_CYCLE
Definition: ltm4686.h:259
LTM4686_STATUS_TEMPERATURE
#define LTM4686_STATUS_TEMPERATURE
Definition: ltm4686.h:102
ltm4686_read_word
int ltm4686_read_word(struct ltm4686_dev *dev, int page, uint8_t cmd, uint16_t *word)
Perform a raw PMBus read word operation.
Definition: ltm4686.c:773
ltm4686_init_param
Definition: ltm4686.h:325
LTM4686_FREQ_EXT_OSC
@ LTM4686_FREQ_EXT_OSC
Definition: ltm4686.h:289
LTM4686_ON_OFF_CONFIG
#define LTM4686_ON_OFF_CONFIG
Definition: ltm4686.h:44
LTM4686_LIN11_MANTISSA_MIN
#define LTM4686_LIN11_MANTISSA_MIN
Definition: ltm4686.h:195
NO_OS_DIV_ROUND_CLOSEST_ULL
#define NO_OS_DIV_ROUND_CLOSEST_ULL(x, y)
Definition: no_os_util.h:56
ltm4686_write_word
int ltm4686_write_word(struct ltm4686_dev *dev, int page, uint8_t cmd, uint16_t word)
Perform a raw PMBus write word operation.
Definition: ltm4686.c:815
NO_OS_DECLARE_CRC8_TABLE
NO_OS_DECLARE_CRC8_TABLE(ltm4686_crc_table)
ltm4686_switch_freq
int ltm4686_switch_freq(struct ltm4686_dev *dev, enum ltm4686_freq freq)
Set switching frequency.
Definition: ltm4686.c:1150
LTM4686_TOFF_FALL_TYPE
@ LTM4686_TOFF_FALL_TYPE
Definition: ltm4686.h:283
LTM4686_TON_MAX_FAULT_RESPONSE
#define LTM4686_TON_MAX_FAULT_RESPONSE
Definition: ltm4686.h:92
LTM4686_MFR_READ_IIN
#define LTM4686_MFR_READ_IIN
Definition: ltm4686.h:153
device
Definition: ad9361_util.h:69
LTM4686_TON_RISE
#define LTM4686_TON_RISE
Definition: ltm4686.h:90
NO_OS_GPIO_HIGH
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:117
ltm4686_status
Definition: ltm4686.h:341
ltm4686_vout_value
int ltm4686_vout_value(struct ltm4686_dev *dev, uint8_t channel, int vout_command, int vout_max)
Set output voltage and its upper limit.
Definition: ltm4686.c:1046
LTM4686_READ_VOUT
#define LTM4686_READ_VOUT
Definition: ltm4686.h:108
LTM4686_SMBALERT_MASK
#define LTM4686_SMBALERT_MASK
Definition: ltm4686.h:54
LTM4686_STATUS_MFR_SPECIFIC_TYPE_MSK
#define LTM4686_STATUS_MFR_SPECIFIC_TYPE_MSK
Definition: ltm4686.h:218
LTM4686_CHAN_ALL
#define LTM4686_CHAN_ALL
Definition: ltm4686.h:209
no_os_calloc
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
LTM4686_MFR_CONFIG_ALL
#define LTM4686_MFR_CONFIG_ALL
Definition: ltm4686.h:133
no_os_gpio_direction_input
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
LTM4686_TON_DELAY
#define LTM4686_TON_DELAY
Definition: ltm4686.h:89
ltm4686_write_word_data
int ltm4686_write_word_data(struct ltm4686_dev *dev, int page, uint8_t cmd, int data)
Converts value to register data and do PMBus write word operation.
Definition: ltm4686.c:867
ltm4686_vout_value
int ltm4686_vout_value(struct ltm4686_dev *dev, uint8_t channel, int vout_command, int vout_max)
Set output voltage and its upper limit.
Definition: ltm4686.c:1046
LTM4686_STATUS_IOUT_TYPE
@ LTM4686_STATUS_IOUT_TYPE
Definition: ltm4686.h:271
LTM4686_TON_RISE_TYPE
@ LTM4686_TON_RISE_TYPE
Definition: ltm4686.h:281
LTM4686_OPERATION_MARGIN_HIGH
@ LTM4686_OPERATION_MARGIN_HIGH
Definition: ltm4686.h:248
LTM4686_FREQ_575_KHZ
@ LTM4686_FREQ_575_KHZ
Definition: ltm4686.h:294
LTM4686_STATUS_INPUT
#define LTM4686_STATUS_INPUT
Definition: ltm4686.h:101
LTM4686_VOUT_PEAK
@ LTM4686_VOUT_PEAK
Definition: ltm4686.h:262
LTM4686_OPERATION_SEQ_OFF
@ LTM4686_OPERATION_SEQ_OFF
Definition: ltm4686.h:249
LTM4686_POUT
@ LTM4686_POUT
Definition: ltm4686.h:260
LTM4686_UT_FAULT_LIMIT
#define LTM4686_UT_FAULT_LIMIT
Definition: ltm4686.h:81
LTM4686_MFR_GPIO_RESPONSE
#define LTM4686_MFR_GPIO_RESPONSE
Definition: ltm4686.h:136
ltm4686_operation_type
ltm4686_operation_type
Definition: ltm4686.h:244
no_os_i2c_desc::slave_address
uint8_t slave_address
Definition: no_os_i2c.h:109
LTM4686_FREQ_650_KHZ
@ LTM4686_FREQ_650_KHZ
Definition: ltm4686.h:295
LTM4686_IOUT_OC_WARN_LIMIT
#define LTM4686_IOUT_OC_WARN_LIMIT
Definition: ltm4686.h:76
no_os_field_prep
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
ltm4686_read_status
int ltm4686_read_status(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_status_type status_type, struct ltm4686_status *status)
Read statuses.
Definition: ltm4686.c:969
LTM4686_OPERATION_MARGIN_LOW
@ LTM4686_OPERATION_MARGIN_LOW
Definition: ltm4686.h:247
ltm4686_dev::num_channels
uint8_t num_channels
Definition: ltm4686.h:322
ltm4686_status_type
ltm4686_status_type
Definition: ltm4686.h:267
LTM4686_VIN_UV_WARN_LIMIT
#define LTM4686_VIN_UV_WARN_LIMIT
Definition: ltm4686.h:86
ltm4686_dev::run_descs
struct no_os_gpio_desc ** run_descs
Definition: ltm4686.h:315
LTM4686_TOFF_DELAY
#define LTM4686_TOFF_DELAY
Definition: ltm4686.h:93
LTM4686_STATUS_CML_TYPE
@ LTM4686_STATUS_CML_TYPE
Definition: ltm4686.h:274
LTM4686_LIN11_MANTISSA_MSK
#define LTM4686_LIN11_MANTISSA_MSK
Definition: ltm4686.h:198
ltm4686_set_vin
int ltm4686_set_vin(struct ltm4686_dev *dev, int vin_on, int vin_off)
Set input voltage window at which power conversion will proceed.
Definition: ltm4686.c:1108
LTM4686_MFR_IOUT_PEAK
#define LTM4686_MFR_IOUT_PEAK
Definition: ltm4686.h:138
LTM4686_VOUT_MARGIN_LOW
#define LTM4686_VOUT_MARGIN_LOW
Definition: ltm4686.h:60
ltm4686_init_param::pgood_params
struct no_os_gpio_init_param ** pgood_params
Definition: ltm4686.h:328
LTM4686_FREQ_350_KHZ
@ LTM4686_FREQ_350_KHZ
Definition: ltm4686.h:291
no_os_crc8_populate_msb
void no_os_crc8_populate_msb(uint8_t *table, const uint8_t polynomial)
LTM4686_CLEAR_FAULTS
#define LTM4686_CLEAR_FAULTS
Definition: ltm4686.h:45
LTM4686_MFR_IIN_OFFSET
#define LTM4686_MFR_IIN_OFFSET
Definition: ltm4686.h:150
LTM4686_READ_TEMPERATURE_1
#define LTM4686_READ_TEMPERATURE_1
Definition: ltm4686.h:110
LTM4686_STATUS_WORD_TYPE_MSK
#define LTM4686_STATUS_WORD_TYPE_MSK
Definition: ltm4686.h:219
MILLIVOLT_PER_VOLT
#define MILLIVOLT_PER_VOLT
Definition: no_os_units.h:58
ltm4686_vout_tr
int ltm4686_vout_tr(struct ltm4686_dev *dev, uint8_t channel, int tr)
Set output voltage transition rate.
Definition: ltm4686.c:1068
LTM4673_SPECIAL_ID_VALUE_REV_2
#define LTM4673_SPECIAL_ID_VALUE_REV_2
Definition: ltm4686.h:231
ltm4686_nvm_cmd
int ltm4686_nvm_cmd(struct ltm4686_dev *dev, enum ltm4686_nvm_cmd_type cmd)
Perform commands for non-volatile memory/EEPROM.
Definition: ltm4686.c:1230
LTM4686_IOUT_OC_FAULT_RESPONSE
#define LTM4686_IOUT_OC_FAULT_RESPONSE
Definition: ltm4686.h:75
ltm4686_freq
ltm4686_freq
Definition: ltm4686.h:288
LTM4686_MFR_RETRY_DELAY
#define LTM4686_MFR_RETRY_DELAY
Definition: ltm4686.h:141
ltm4686_init_param::external_clk_en
bool external_clk_en
Definition: ltm4686.h:333
ltm4686_chip_info::num_channels
uint8_t num_channels
Definition: ltm4686.h:338
ltm4686_remove
int ltm4686_remove(struct ltm4686_dev *dev)
Free or remove device instance.
Definition: ltm4686.c:592
LTM4686_STATUS_BYTE
#define LTM4686_STATUS_BYTE
Definition: ltm4686.h:97
LTM4686_READ_DUTY_CYCLE
#define LTM4686_READ_DUTY_CYCLE
Definition: ltm4686.h:112
ltm4686_read_byte
int ltm4686_read_byte(struct ltm4686_dev *dev, int page, uint8_t cmd, uint8_t *data)
Perform a raw PMBus read byte operation.
Definition: ltm4686.c:704
ltm4686_read_block_data
int ltm4686_read_block_data(struct ltm4686_dev *dev, int page, uint8_t cmd, uint8_t *data, size_t nbytes)
Perform a PMBus read block operation.
Definition: ltm4686.c:890
ltm4686_init_param::i2c_init
struct no_os_i2c_init_param * i2c_init
Definition: ltm4686.h:326
LTM4686_STATUS_IOUT_TYPE_MSK
#define LTM4686_STATUS_IOUT_TYPE_MSK
Definition: ltm4686.h:214
LTM4686_RESTORE_USER_ALL
#define LTM4686_RESTORE_USER_ALL
Definition: ltm4686.h:51
ltm4686_dev::i2c_desc
struct no_os_i2c_desc * i2c_desc
Definition: ltm4686.h:312
LTM4686_LIN11_MANTISSA
#define LTM4686_LIN11_MANTISSA(x)
Definition: ltm4686.h:201
ltm4686_read_value
int ltm4686_read_value(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_value_type value_type, int *value)
Read a value.
Definition: ltm4686.c:946
ltm4686_info
const struct ltm4686_chip_info ltm4686_info[]
Definition: ltm4686.c:50
ltm4686_init_param::alert_param
struct no_os_gpio_init_param * alert_param
Definition: ltm4686.h:327
LTM4686_TOFF_MAX_WARN_LIMIT
#define LTM4686_TOFF_MAX_WARN_LIMIT
Definition: ltm4686.h:95
no_os_gpio_remove
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
LTM4686_IIN
@ LTM4686_IIN
Definition: ltm4686.h:254
ltm4686_vout_margin
int ltm4686_vout_margin(struct ltm4686_dev *dev, uint8_t channel, int margin_low, int margin_high)
Set output voltage margin.
Definition: ltm4686.c:1083
no_os_clamp
#define no_os_clamp(val, min_val, max_val)
Definition: no_os_util.h:69
LTM4686_STATUS_ALL_TYPE_MSK
#define LTM4686_STATUS_ALL_TYPE_MSK
Definition: ltm4686.h:220
LTM4686_TON_MAX_FAULT_LIMIT
#define LTM4686_TON_MAX_FAULT_LIMIT
Definition: ltm4686.h:91
LTM4686_FREQUENCY_SWITCH
#define LTM4686_FREQUENCY_SWITCH
Definition: ltm4686.h:63
LTM4686_FREQ_425_KHZ
@ LTM4686_FREQ_425_KHZ
Definition: ltm4686.h:292
LTM4686_STATUS_TEMP_TYPE_MSK
#define LTM4686_STATUS_TEMP_TYPE_MSK
Definition: ltm4686.h:216
LTM4686_VOUT_OV_FAULT_LIMIT
#define LTM4686_VOUT_OV_FAULT_LIMIT
Definition: ltm4686.h:68
ltm4686_dev::fault_descs
struct no_os_gpio_desc ** fault_descs
Definition: ltm4686.h:316
ID_LTM4686
@ ID_LTM4686
Definition: ltm4686.h:234
LTM4686_FAULT_PIN_INPUT
@ LTM4686_FAULT_PIN_INPUT
Definition: ltm4686.h:240
ltm4686_send_byte
int ltm4686_send_byte(struct ltm4686_dev *dev, int page, uint8_t cmd)
Send a PMBus command to the device.
Definition: ltm4686.c:682
no_os_gpio_desc
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:96
ltm4686_read_word
int ltm4686_read_word(struct ltm4686_dev *dev, int page, uint8_t cmd, uint16_t *word)
Perform a raw PMBus read word operation.
Definition: ltm4686.c:773
LTM4686_MFR_TEMPERATURE_1_PEAK
#define LTM4686_MFR_TEMPERATURE_1_PEAK
Definition: ltm4686.h:145
LTM4686_MFR_SPECIAL_ID
#define LTM4686_MFR_SPECIAL_ID
Definition: ltm4686.h:149
ltm4686_read_block_data
int ltm4686_read_block_data(struct ltm4686_dev *dev, int page, uint8_t cmd, uint8_t *data, size_t nbytes)
Perform a PMBus read block operation.
Definition: ltm4686.c:890
LTM4686_MFR_CHAN_CONFIG
#define LTM4686_MFR_CHAN_CONFIG
Definition: ltm4686.h:132
ltm4686_read_word_data
int ltm4686_read_word_data(struct ltm4686_dev *dev, int page, uint8_t cmd, int *data)
Perform a PMBus read word operation and converts to actual value.
Definition: ltm4686.c:845
LTM4686_LIN11_EXPONENT_MSK
#define LTM4686_LIN11_EXPONENT_MSK
Definition: ltm4686.h:199
LTM4686_MFR_COMPARE_USER_ALL
#define LTM4686_MFR_COMPARE_USER_ALL
Definition: ltm4686.h:156
LTM4686_LIN11_EXPONENT
#define LTM4686_LIN11_EXPONENT(x)
Definition: ltm4686.h:200
LTM4686_STATUS_CML
#define LTM4686_STATUS_CML
Definition: ltm4686.h:103
no_os_i2c_desc
Structure holding I2C address descriptor.
Definition: no_os_i2c.h:101
ltm4686_read_byte
int ltm4686_read_byte(struct ltm4686_dev *dev, int page, uint8_t cmd, uint8_t *data)
Perform a raw PMBus read byte operation.
Definition: ltm4686.c:704
LTM4686_TOFF_FALL
#define LTM4686_TOFF_FALL
Definition: ltm4686.h:94
no_os_i2c_read
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
LTM4686_OT_WARN_LIMIT
#define LTM4686_OT_WARN_LIMIT
Definition: ltm4686.h:80
LTM4686_MFR_TEMPERATURE_2_PEAK
#define LTM4686_MFR_TEMPERATURE_2_PEAK
Definition: ltm4686.h:157
LTM4686_FAULT_PIN_OUTPUT
@ LTM4686_FAULT_PIN_OUTPUT
Definition: ltm4686.h:241
no_os_i2c.h
Header file of I2C Interface.
LTM4686_MFR_VOUT_MAX
#define LTM4686_MFR_VOUT_MAX
Definition: ltm4686.h:119
LTM4673_SPECIAL_ID_VALUE_REV_1
#define LTM4673_SPECIAL_ID_VALUE_REV_1
Definition: ltm4686.h:230
ltm4686_set_operation
int ltm4686_set_operation(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_operation_type operation)
Set channel operation.
Definition: ltm4686.c:1213
LTM4686_TEMP_IC
@ LTM4686_TEMP_IC
Definition: ltm4686.h:258
ltm4686_fault_pin_config
ltm4686_fault_pin_config
Definition: ltm4686.h:239
LTM4686_FREQ_250_KHZ
@ LTM4686_FREQ_250_KHZ
Definition: ltm4686.h:290
LTM4686_IOUT_OC_FAULT_LIMIT
#define LTM4686_IOUT_OC_FAULT_LIMIT
Definition: ltm4686.h:74
ltm4686_init_param::run_params
struct no_os_gpio_init_param ** run_params
Definition: ltm4686.h:329
ltm4686_status::word
uint16_t word
Definition: ltm4686.h:342
LTM4686_READ_IIN
#define LTM4686_READ_IIN
Definition: ltm4686.h:107
no_os_crc8
uint8_t no_os_crc8(const uint8_t *table, const uint8_t *pdata, size_t nbytes, uint8_t crc)
no_os_free
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
LTM4686_IOUT_PEAK
@ LTM4686_IOUT_PEAK
Definition: ltm4686.h:261
LTM4686_MFR_USER_DATA_01
#define LTM4686_MFR_USER_DATA_01
Definition: ltm4686.h:122
ltm4686_init_param::id
enum ltm4686_chip_id id
Definition: ltm4686.h:332
LTM4686_VOUT_TRANSITION_RATE
#define LTM4686_VOUT_TRANSITION_RATE
Definition: ltm4686.h:61
LTM4686_CRC_POLYNOMIAL
#define LTM4686_CRC_POLYNOMIAL
Definition: ltm4686.h:190
LTM4686_VOUT_MAX
#define LTM4686_VOUT_MAX
Definition: ltm4686.h:58
no_os_get_unaligned_le16
uint16_t no_os_get_unaligned_le16(uint8_t *buf)
LTM4686_RESTORE_USER
@ LTM4686_RESTORE_USER
Definition: ltm4686.h:302
LTM4686_VOUT_MODE
#define LTM4686_VOUT_MODE
Definition: ltm4686.h:56
ltm4686_status::byte
uint8_t byte
Definition: ltm4686.h:343
ltm4686_software_reset
int ltm4686_software_reset(struct ltm4686_dev *dev)
Perform a device software reset.
Definition: ltm4686.c:1241
LTM4686_FREQ_1000_KHZ
@ LTM4686_FREQ_1000_KHZ
Definition: ltm4686.h:297
ltm4686_switch_freq
int ltm4686_switch_freq(struct ltm4686_dev *dev, enum ltm4686_freq freq)
Set switching frequency.
Definition: ltm4686.c:1150
LTM4686_OPERATION_ON
@ LTM4686_OPERATION_ON
Definition: ltm4686.h:246
no_os_i2c_init_param
Structure holding the parameters for I2C initialization.
Definition: no_os_i2c.h:64
ltm4686_init
int ltm4686_init(struct ltm4686_dev **device, struct ltm4686_init_param *init_param)
Initialize the device structure.
Definition: ltm4686.c:460
LTM4686_IOUT
@ LTM4686_IOUT
Definition: ltm4686.h:256
LTM4686_TEMP_PEAK
@ LTM4686_TEMP_PEAK
Definition: ltm4686.h:264
LTM4686_OT_FAULT_RESPONSE
#define LTM4686_OT_FAULT_RESPONSE
Definition: ltm4686.h:79
LTM4686_VOUT_COMMAND
#define LTM4686_VOUT_COMMAND
Definition: ltm4686.h:57
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
ltm4686_dev::crc_en
bool crc_en
Definition: ltm4686.h:321
LTM4686_READ_IOUT
#define LTM4686_READ_IOUT
Definition: ltm4686.h:109
LTM4686_LIN11_MANTISSA_MAX
#define LTM4686_LIN11_MANTISSA_MAX
Definition: ltm4686.h:194
ltm4686_set_timing
int ltm4686_set_timing(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_timing_type timing_type, int time)
Set timing values.
Definition: ltm4686.c:1137
LTM4686_CONFIG_ALL_DIS_SYNC_BIT
#define LTM4686_CONFIG_ALL_DIS_SYNC_BIT
Definition: ltm4686.h:224
LTM4686_VIN_OFF
#define LTM4686_VIN_OFF
Definition: ltm4686.h:65
LTM4686_VIN_ON
#define LTM4686_VIN_ON
Definition: ltm4686.h:64
LTM4686_PAGE
#define LTM4686_PAGE
Definition: ltm4686.h:42
LTM4686_MFR_GPIO_PROPAGATE
#define LTM4686_MFR_GPIO_PROPAGATE
Definition: ltm4686.h:134
LTM4686_VOUT_UV_FAULT_LIMIT
#define LTM4686_VOUT_UV_FAULT_LIMIT
Definition: ltm4686.h:72
LTM4686_STATUS_WORD_TYPE
@ LTM4686_STATUS_WORD_TYPE
Definition: ltm4686.h:276
ltm4686_set_page
int ltm4686_set_page(struct ltm4686_dev *dev, int page)
Set page of the device. Page 0x0 - Channel 0 Page 0x1 - Channel 1 Page 0x2 - Channel 2 Page 0x3 - Cha...
Definition: ltm4686.c:623
LTM4686_IIN_OC_WARN_LIMIT
#define LTM4686_IIN_OC_WARN_LIMIT
Definition: ltm4686.h:87
ltm4686.h
Header file of the LTM4686 driver.
LTM4686_FREQ_750_KHZ
@ LTM4686_FREQ_750_KHZ
Definition: ltm4686.h:296
LTM4686_STATUS_VOUT_TYPE
@ LTM4686_STATUS_VOUT_TYPE
Definition: ltm4686.h:270
ltm4686_dev::lin16_exp
int lin16_exp
Definition: ltm4686.h:320
ltm4686_dev
Definition: ltm4686.h:311
LTM4686_ID_MSK
#define LTM4686_ID_MSK
Definition: ltm4686.h:228
LTM4686_OPERATION_OFF
@ LTM4686_OPERATION_OFF
Definition: ltm4686.h:245
no_os_gpio.h
Header file of GPIO Interface.
LTM4686_VIN_OV_FAULT_LIMIT
#define LTM4686_VIN_OV_FAULT_LIMIT
Definition: ltm4686.h:84
LTM4686_STATUS_INPUT_TYPE
@ LTM4686_STATUS_INPUT_TYPE
Definition: ltm4686.h:272
LTM4686_STORE_USER
@ LTM4686_STORE_USER
Definition: ltm4686.h:301
LTM4686_LIN11_EXPONENT_MIN
#define LTM4686_LIN11_EXPONENT_MIN
Definition: ltm4686.h:197
LTM4686_COMPARE_USER
@ LTM4686_COMPARE_USER
Definition: ltm4686.h:303
ltm4686_set_operation
int ltm4686_set_operation(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_operation_type operation)
Set channel operation.
Definition: ltm4686.c:1213
LTM4686_STATUS_CML_TYPE_MSK
#define LTM4686_STATUS_CML_TYPE_MSK
Definition: ltm4686.h:217
LTM4686_STATUS_INPUT_TYPE_MSK
#define LTM4686_STATUS_INPUT_TYPE_MSK
Definition: ltm4686.h:215
ltm4686_write_word_data
int ltm4686_write_word_data(struct ltm4686_dev *dev, int page, uint8_t cmd, int data)
Converts value to register data and do PMBus write word operation.
Definition: ltm4686.c:867
LTM4686_VOUT_OV_FAULT_RESPONSE
#define LTM4686_VOUT_OV_FAULT_RESPONSE
Definition: ltm4686.h:69
LTM4686_VIN
@ LTM4686_VIN
Definition: ltm4686.h:253
ltm4686_pwm_mode
int ltm4686_pwm_mode(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_pwm_mode pwm_mode)
Sets the PWM mode for a specific channel of the LTM4686 device.
Definition: ltm4686.c:1180
LTM4686_VIN_PEAK
@ LTM4686_VIN_PEAK
Definition: ltm4686.h:263
no_os_util.h
Header file of utility functions.
ltm4686_status::cml
uint8_t cml
Definition: ltm4686.h:348
LTM4686_MFR_RESET
#define LTM4686_MFR_RESET
Definition: ltm4686.h:163
LTM4686_MFR_RAIL_ADDRESS
#define LTM4686_MFR_RAIL_ADDRESS
Definition: ltm4686.h:162
LTM4686_OPERATION
#define LTM4686_OPERATION
Definition: ltm4686.h:43
LTM4686_STATUS_VOUT_TYPE_MSK
#define LTM4686_STATUS_VOUT_TYPE_MSK
Definition: ltm4686.h:213
LTM4686_STATUS_TEMP_TYPE
@ LTM4686_STATUS_TEMP_TYPE
Definition: ltm4686.h:273
LTM4686_STATUS_MFR_SPECIFIC_TYPE
@ LTM4686_STATUS_MFR_SPECIFIC_TYPE
Definition: ltm4686.h:275
LTM4686_SPECIAL_ID_VALUE
#define LTM4686_SPECIAL_ID_VALUE
Definition: ltm4686.h:229
LT7182_RETRY_DELAY
@ LT7182_RETRY_DELAY
Definition: ltm4686.h:284
ltm4686_set_timing
int ltm4686_set_timing(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_timing_type timing_type, int time)
Set timing values.
Definition: ltm4686.c:1137
no_os_gpio_direction_output
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
ltm4686_init_param::fault_params
struct no_os_gpio_init_param ** fault_params
Definition: ltm4686.h:330
LTM4686_VOUT_UV_WARN_LIMIT
#define LTM4686_VOUT_UV_WARN_LIMIT
Definition: ltm4686.h:71
LTM4686_READ_POUT
#define LTM4686_READ_POUT
Definition: ltm4686.h:113
ltm4686_set_vin
int ltm4686_set_vin(struct ltm4686_dev *dev, int vin_on, int vin_off)
Set input voltage window at which power conversion will proceed.
Definition: ltm4686.c:1108
ltm4686_read_status
int ltm4686_read_status(struct ltm4686_dev *dev, uint8_t channel, enum ltm4686_status_type status_type, struct ltm4686_status *status)
Read statuses.
Definition: ltm4686.c:969
LTM4686_PWM_PULSE_SKIP_MODE
@ LTM4686_PWM_PULSE_SKIP_MODE
Definition: ltm4686.h:308
ltm4686_nvm_cmd_type
ltm4686_nvm_cmd_type
Definition: ltm4686.h:300
ltm4686_chip_info
Definition: ltm4686.h:337
LTM4686_PWM_OP_MODE_BIT
#define LTM4686_PWM_OP_MODE_BIT
Definition: ltm4686.h:223
ltm4686_status::vout
uint8_t vout
Definition: ltm4686.h:344
no_os_crc8.h
Header file of CRC-8 computation.
MICROVOLT_PER_VOLT
#define MICROVOLT_PER_VOLT
Definition: no_os_units.h:59
LTM4686_STATUS_ALL_TYPE
@ LTM4686_STATUS_ALL_TYPE
Definition: ltm4686.h:268
ID_LTM4673
@ ID_LTM4673
Definition: ltm4686.h:236
LTM4686_STATUS_WORD
#define LTM4686_STATUS_WORD
Definition: ltm4686.h:98
errno.h
Error macro definition for ARM Compiler.
LTM4686_FREQ_500_KHZ
@ LTM4686_FREQ_500_KHZ
Definition: ltm4686.h:293
ltm4686_dev::page
int page
Definition: ltm4686.h:319
LTM4686_VOUT_OV_WARN_LIMIT
#define LTM4686_VOUT_OV_WARN_LIMIT
Definition: ltm4686.h:70
LTM4686_VOUT_UV_FAULT_RESPONSE
#define LTM4686_VOUT_UV_FAULT_RESPONSE
Definition: ltm4686.h:73
ltm4686_dev::pgood_descs
struct no_os_gpio_desc ** pgood_descs
Definition: ltm4686.h:314
ltm4686_set_page
int ltm4686_set_page(struct ltm4686_dev *dev, int page)
Set page of the device. Page 0x0 - Channel 0 Page 0x1 - Channel 1 Page 0x2 - Channel 2 Page 0x3 - Cha...
Definition: ltm4686.c:623
ltm4686_value_type
ltm4686_value_type
Definition: ltm4686.h:252
ltm4686_init
int ltm4686_init(struct ltm4686_dev **device, struct ltm4686_init_param *init_param)
Initialize the device structure.
Definition: ltm4686.c:460
ltm4686_dev::alert_desc
struct no_os_gpio_desc * alert_desc
Definition: ltm4686.h:313
ltm4686_remove
int ltm4686_remove(struct ltm4686_dev *dev)
Free or remove device instance.
Definition: ltm4686.c:592
no_os_gpio_get_optional
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