no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adp1055.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __ADP_1055_H__
34#define __ADP_1055_H__
35
36
37/******************************************************************************/
38/***************************** Include Files **********************************/
39/******************************************************************************/
40#include <stdint.h>
41#include <stdbool.h>
42#include <stdio.h>
43#include "no_os_gpio.h"
44#include "no_os_i2c.h"
45#include "no_os_pwm.h"
46#include "no_os_util.h"
47#include "no_os_units.h"
48
49/*****************************************************************************/
50/************************** ADP1055 Constants ********************************/
51/*****************************************************************************/
52#define ADP1055_WR_FRAME_SIZE 4
53#define ADP1055_RD_FRAME_SIZE 5
54#define ADP1055_SC_FRAME_SIZE 3
55#define ADP1055_LSB_MASK NO_OS_GENMASK(7, 0)
56#define ADP1055_MSB_MASK NO_OS_GENMASK(15, 8)
57#define ADP1055_EXTENDED_COMMAND 0xFF
58
59#define ADP1055_OPERATION_ON 0x80
60#define ADP1055_OPERATION_OFF 0x00
61#define ADP1055_OPERATION_SOFT_OFF 0x40
62
63#define ADP1055_EXP_MASK NO_OS_GENMASK(15, 11)
64#define ADP1055_MANT_MASK NO_OS_GENMASK(10, 0)
65
66#define ADP1055_VOUT_MODE_MASK NO_OS_GENMASK(4, 0)
67
68#define ADP1055_PWM_TIMING_MASK NO_OS_GENMASK(15, 4)
69#define ADP1055_PWM_MODEN_MASK 3
70#define ADP1055_PWM_SIGN_MASK 2
71
72#define ADP1055_OUTA_ON 0x3E
73#define ADP1055_OUTB_ON 0x3D
74#define ADP1055_OUTC_ON 0x3B
75#define ADP1055_OUTD_ON 0x37
76#define ADP1055_SR1_ON 0x2F
77#define ADP1055_SR2_ON 0x1F
78#define ADP1055_PWM_OFF 0x3F
79
80#define ADP1055_ON_OFF_DEFAULT_CFG 0x00
81#define ADP1055_DEFAULT_FREQ_MANT -4
82#define ADP1055_DEFAULT_FREQ_EXP 782
83#define ADP1055_CTRL_PIN_ENABLE NO_OS_BIT(4)
84
86#define ADP1055_VOLT_REF_GO 0x01
87#define ADP1055_PWM_GO 0x02
88#define ADP1055_FREQ_GO 0x04
89#define ADP1055_FILTER_GO 0x08
90#define ADP1055_VS_BAL_GO 0x10
91#define ADP1055_VFF_GO 0x20
92#define ADP1055_SYNC_GO 0x40
93
94# define ADP1055_ON_OFF_MASK NO_OS_GENMASK(7, 6)
95
96#define ADP1055_FREQ_PLL_MASK NO_OS_BIT(6)
97#define ADP1055_FREQ_JITT_MASK NO_OS_BIT(1)
98#define ADP1055_FREQ_RESO_MASK NO_OS_BIT(0)
99#define ADP1055_FREQ_JITT_VAL 0x02
100
101/* PMBus COMMAND SET */
102/*****************************************************************************/
103/************************** adp1055 Registers ********************************/
104/*****************************************************************************/
105#define ADP1055_OPERATION 0x01
106#define ADP1055_ON_OFF_CONFIG 0x02
107#define ADP1055_CLEAR_FAULTS 0x03
108#define ADP1055_WRITE_PROTECT 0x10
109#define ADP1055_RESTORE_DEFAULT_ALL 0x12
110#define ADP1055_STORE_USER_ALL 0x15
111#define ADP1055_RESTORE_USER_ALL 0x16
112#define ADP1055_CAPABILITY 0x19
113
114#define ADP1055_SMBALERT_MASK 0x1B
115#define ADP1055_VOUT_MODE 0x20
116#define ADP1055_VOUT_COMMAND 0x21
117#define ADP1055_VOUT_TRIM 0x22
118#define ADP1055_VOUT_CAL_OFFSET 0x23
119#define ADP1055_VOUT_MAX 0x24
120#define ADP1055_VOUT_TRANSITION_RATE 0x27
121#define ADP1055_VOUT_DROOP 0x28
122#define ADP1055_VOUT_SCALE_LOOP 0x29
123#define ADP1055_VOUT_SCALE_MONITOR 0x2A
124#define ADP1055_FREQUENCY_SWITCH 0x33
125
127#define ADP1055_VIN_ON 0x35
128#define ADP1055_VIN_OFF 0x36
129
130#define ADP1055_INTERLEAVE 0x37
131#define ADP1055_IOUT_CAL_GAIN 0x38
132#define ADP1055_IOUT_CAL_OFFSET 0x39
133
135#define ADP1055_VOUT_OV_FAULT_LIMIT 0x40
136#define ADP1055_VOUT_OV_FAULT_RESPONSE 0x41
137#define ADP1055_VOUT_OV_WARN_LIMIT 0x42
138#define ADP1055_VOUT_UV_WARN_LIMIT 0x43
139#define ADP1055_VOUT_UV_FAULT_LIMIT 0x44
140#define ADP1055_VOUT_UV_FAULT_RESPONSE 0x45
141#define ADP1055_IOUT_OC_FAULT_LIMIT 0x46
142#define ADP1055_IOUT_OC_FAULT_RES 0x47
143#define ADP1055_IOUT_OC_LV_FAULT_LIMIT 0x48
144#define ADP1055_IOUT_OC_LV_FAULT_RESPONSE 0x49
145#define ADP1055_IOUT_OC_WARN_LIMIT 0x4A
146#define ADP1055_IOUT_UC_FAULT_LIMIT 0x4B
147#define ADP1055_IOUT_UC_FAULT_RESPONSE 0x4C
148#define ADP1055_OT_FAULT_LIMIT 0x4F
149#define ADP1055_OT_FAULT_RESPONSE 0x50
150#define ADP1055_OT_WARN_LIMIT 0x51
151#define ADP1055_VIN_OV_FAULT_LIMIT 0x55
152#define ADP1055_VIN_OV_FAULT_RESPONSE 0x56
153#define ADP1055_VIN_UV_FAULT_LIMIT 0x59
154#define ADP1055_VIN_UV_FAULT_RESPONSE 0x5A
155#define ADP1055_IIN_OC_FAULT_LIMIT 0x5B
156#define ADP1055_IIN_OC_FAULT_RESPOSNE 0x5C
157
158#define ADP1055_POWER_GOOD_ON 0x5E
159#define ADP1055_POWER_GOOD_OFF 0x5F
160#define ADP1055_TON_DELAY 0x60
161#define ADP1055_TON_RISE 0x61
162#define ADP1055_TON_MAX_FAULT_LIMIT 0x62
163#define ADP1055_TON_MAX_FAULT_RESPOSNE 0x63
164#define ADP1055_TOFF_DELAY 0x64
165#define ADP1055_TOFF_FALL 0x65
166#define ADP1055_TOFF_MAX_WARN_LIMIT 0x66
167#define ADP1055_POUT_OP_FAULT_LIMIT 0x68
168#define ADP1055_POUT_OP_FAULT_RESPONSE 0x69
169
171#define ADP1055_STATUS_BYTE 0x78
172#define ADP1055_STATUS_WORD 0x79
173#define ADP1055_STATUS_VOUT 0x7A
174#define ADP1055_STATUS_IOUT 0x7B
175#define ADP1055_STATUS_INPUT 0x7C
176#define ADP1055_STATUS_TEMPERATURE 0x7D
177#define ADP1055_STATUS_CML 0x7E
178#define ADP1055_STATUS_OTHER 0x7F
179#define ADP1055_STATUS_MFR_SPECIFIC 0x80
180
182#define ADP1055_READ_VIN 0x88
183#define ADP1055_READ_IIN 0x89
184#define ADP1055_READ_VOUT 0x8B
185#define ADP1055_READ_IOUT 0x8C
186#define ADP1055_READ_TEMPERATURE_2 0x8E
187#define ADP1055_READ_TEMPERATURE_3 0x8F
188#define ADP1055_READ_DUTY_CYCLE 0x94
189#define ADP1055_READ_FREQUENCY 0x95
190#define ADP1055_READ_POUT 0x96
191
192#define ADP1055_READ_PMBUS_REVISION 0x98
193#define ADP1055_MFR_ID 0x99
194#define ADP1055_MFR_MODEL 0x9A
195#define ADP1055_MFR_REVISION 0x9B
196#define ADP1055_MFR_LOCATION 0x9C
197#define ADP1055_MFR_DATE 0x9D
198#define ADP1055_IC_DEVICE_ID 0xAD
199#define ADP1055_IC_DEVICE_REV 0xAE
200#define ADP1055_EEPROM_DATA_00 0xB0
201#define ADP1055_EEPROM_DATA_01 0xB1
202#define ADP1055_EEPROM_DATA_02 0xB2
203#define ADP1055_EEPROM_DATA_03 0xB3
204#define ADP1055_EEPROM_DATA_04 0xB4
205#define ADP1055_EEPROM_DATA_05 0xB5
206#define ADP1055_EEPROM_DATA_06 0xB6
207#define ADP1055_EEPROM_DATA_07 0xB7
208#define ADP1055_EEPROM_DATA_08 0xB8
209#define ADP1055_EEPROM_DATA_09 0xB9
210#define ADP1055_EEPROM_DATA_10 0xBA
211#define ADP1055_EEPROM_DATA_11 0xBB
212#define ADP1055_EEPROM_DATA_12 0xBC
213#define ADP1055_EEPROM_DATA_13 0xBD
214#define ADP1055_EEPROM_DATA_14 0xBE
215#define ADP1055_EEPROM_DATA_15 0xBF
216#define ADP1055_EEPROM_CRC_CHKSUM 0xD1
217#define ADP1055_EEPROM_NUM_RD_BYTES 0xD2
218#define ADP1055_EEPROM_ADDR_OFFSET 0xD3
219#define ADP1055_EEPROM_PAGE_ERASE 0xD4
220#define ADP1055_EEPROM_PASSWORD 0xD5
221#define ADP1055_TRIM_PASSWORD 0xD6
222#define ADP1055_CHIP_PASSWORD 0xD7
223#define ADP1055_IIN_SCALE_MONITOR 0xD9
224#define ADP1055_EEPROM_INFO 0xF1
225#define ADP1055_READ_BLACKBOX_CURR 0xF2
226#define ADP1055_READ_BLACKBOX_PREV 0xF3
227#define ADP1055_CMD_MASK 0xF4
228#define ADP1055_EXTCMD_MASK 0xF5
229#define ADP1055_MFR_SPECIFIC_1 0xFA
230#define ADP1055_MFR_SPECIFIC_2 0xFB
231
232/* MANUFACTURER SPECIFIC EXTENDED COMMAND LIST */
233
235#define ADP1055_GO_CMD 0xFE00
236
238#define ADP1055_NM_DIGFILT_LF_GAIN_SETTING 0xFE01
239#define ADP1055_NM_DIGFILT_ZERO_SETTING 0xFE02
240#define ADP1055_NM_DIGFILT_POLE_SETTING 0xFE03
241#define ADP1055_NM_DIGFILT_HF_GAIN_SETTING 0xFE04
242
243#define ADP1055_LLM_DIGFILT_LF_GAIN_SETTING 0xFE05
244#define ADP1055_LLM_DIGFILT_ZERO_SETTING 0xFE06
245#define ADP1055_LLM_DIGFILT_POLE_SETTING 0xFE07
246#define ADP1055_LLM_DIGFILT_HF_GAIN_SETTING 0xFE08
247
248#define ADP1055_SS_DIGFILT_LF_GAIN_SETTING 0xFE09
249#define ADP1055_SS_DIGFILT_ZERO_SETTING 0xFE0A
250#define ADP1055_SS_DIGFILT_POLE_SETTING 0xFE0B
251#define ADP1055_SS_DIGFILT_HF_GAIN_SETTING 0xFE0C
252
254#define ADP1055_OUTA_REDGE_SETTING 0xFE0D
255#define ADP1055_OUTA_FEDGE_SETTING 0xFE0E
256#define ADP1055_OUTB_REDGE_SETTING 0xFE0F
257#define ADP1055_OUTB_FEDGE_SETTING 0xFE10
258#define ADP1055_OUTC_REDGE_SETTING 0xFE11
259#define ADP1055_OUTC_FEDGE_SETTING 0xFE12
260#define ADP1055_OUTD_REDGE_SETTING 0xFE13
261#define ADP1055_OUTD_FEDGE_SETTING 0xFE14
262#define ADP1055_SR1_REDGE_SETTING 0xFE15
263#define ADP1055_SR1_FEDGE_SETTING 0xFE16
264#define ADP1055_SR2_REDGE_SETTING 0xFE17
265#define ADP1055_SR2_FEDGE_SETTING 0xFE18
266#define ADP1055_SR1_REDGE_LLM_SETTING 0xFE19
267#define ADP1055_SR1_FEDGE_LLM_SETTING 0xFE1A
268#define ADP1055_SR2_REDGE_LLM_SETTING 0xFE1B
269#define ADP1055_SR2_FEDGE_LLM_SETTING 0xFE1C
270
272#define ADP1055_ADT_CONFIG 0xFE1D
273#define ADP1055_ADT_THRESHOLD 0xFE1E
274
276#define ADP1055_OUTA_DEAD_TIME 0xFE1F
277#define ADP1055_OUTB_DEAD_TIME 0xFE20
278#define ADP1055_OUTC_DEAD_TIME 0xFE21
279#define ADP1055_OUTD_DEAD_TIME 0xFE22
280#define ADP1055_SR1_DEAD_TIME 0xFE23
281#define ADP1055_SR2_DEAD_TIME 0xFE24
282
284#define ADP1055_VSBAL_SETTING 0xFE25
285#define ADP1055_VSBAL_OUTA_B 0xFE26
286#define ADP1055_VSBAL_OUTC_D 0xFE27
287#define ADP1055_VSBAL_SR1_2 0xFE28
288
290#define ADP1055_FFWD_SETTING 0xFE29
291
292/* ISHARE Setting */
293#define ADP1055_ISHARE_SETTING 0xFE2A
294#define ADP1055_ISHARE_BANDWIDTH 0xFE2B
295
297#define ADP1055_IIN_OC_FAST_SETTING 0xFE2C
298#define ADP1055_IOUT_OC_FAST_SETTING 0xFE2D
299#define ADP1055_IOUT_UC_FAST_SETTING 0xFE2E
300#define ADP1055_VOUT_OV_FAST_SETTING 0xFE2F
301
302/* Debounce Settings */
303#define ADP1055_DEBOUNCE_SETTING_1 0xFE30
304#define ADP1055_DEBOUNCE_SETTING_2 0xFE31
305#define ADP1055_DEBOUNCE_SETTING_3 0xFE32
306#define ADP1055_DEBOUNCE_SETTING_4 0xFE33
307
309#define ADP1055_VOUT_OV_FAST_FAULT_RESPONSE 0xFE34
310#define ADP1055_IOUT_OC_FAST_FAULT_RESPONSE 0xFE35
311#define ADP1055_IOUT_UC_FAST_FAULT_RESPONSE 0xFE36
312#define ADP1055_IIN_OC_FAST_FAULT_RESPONSE 0xFE37
313#define ADP1055ISHARE_FAULT_RESPONSE 0xFE38
314#define ADP1055_GPIO1_FAULT_RESPONSE 0xFE39
315#define ADP1055_GPIO2_FAULT_RESPONSE 0xFE3A
316#define ADP1055_GPIO3_FAULT_RESPONSE 0xFE3B
317#define ADP1055_GPIO4_FAULT_RESPONSE 0xFE3C
318
320#define ADP1055_PWM_FAULT_MASK 0xFE3D
321
323#define ADP1055_DELAY_TIME_UNIT 0xFE3E
324
326#define ADP1055_WDT_SETTING 0xFE3F
327
329#define ADP1055_GPIO_SETTING 0xFE40
330#define ADP1055GPIO1_2_KARNAUGH_MAP 0xFE41
331#define ADP1055_GPIO3_4_KARNAUGH_MAP 0xFE42
332
334#define ADP1055_PGOOD_FAULT_DEB 0xFE43
335#define ADP1055_PGOOD1_FAULT_SELECT 0xFE44
336#define ADP1055_PGOOD2_FAULT_SELECT 0xFE45
337
339#define ADP1055_SOFT_START_BLANKING 0xFE46
340#define ADP1055_SOFT_STOP_BLANKING 0xFE47
341
343#define ADP1055_BLACKBOX_SETTING 0xFE48
344
346#define ADP1055_PWM_DISABLE_SETTING 0xFE49
347
349#define ADP1055_FILTER_TRANSITION 0xFE4A
350
352#define ADP1055_DEEP_LLM_SETTING 0xFE4B
353#define ADP1055_DEEP_LLM_DISABLE_SETTING 0xFE4C
354
356#define ADP1055_OVP_FAULT_CONFIG 0xFE4D
357
359#define ADP1055_CS1_SETTING 0xFE4E
360#define ADP1055_CS2_SETTING 0xFE4F
361
363#define ADP1055_PULSE_SKIP_AND_SHUTDOWN 0xFE50
364
366#define ADP1055_SOFT_START_SETTING 0xFE51
367
369#define ADP1055_SR_DELAY 0xFE52
370
372#define ADP1055_MODULATION_LIMIT 0xFE53
373
375#define ADP1055_SYNC 0xFE55
376
378#define ADP1055_DUTY_BAL_EDGESEL 0xFE56
379
381#define ADP1055_DOUBLE_UPD_RATE 0xFE57
382
384#define ADP1055_VIN_SCALE_MONITOR 0xFE58
385
386/* IIN Cal Gain */
387#define ADP1055_IIN_CAL_GAIN 0xFE59
388
390#define ADP1055_TSNS_SETTING 0xFE5A
391
392/* Auto go CMD */
393#define ADP1055_AUTO_GO_CMD 0xFE5B
394
396#define ADP1055_DIODE_EMULATION 0xFE5C
397
399#define ADP1055_CS2_CONST_CUR_MODE 0xFE5D
400
402#define ADP1055_NL_ERR_GAIN_FACTOR 0xFE5E
403
405#define ADP1055_SR_SETTING 0xFE5F
406
408#define ADP1055_NOMINAL_TEMP_POLE 0xFE60
409#define ADP1055_LOW_TEMP_POLE 0xFE61
410#define ADP1055_LOW_TEMP_SETTING 0xFE62
411
413#define ADP1055_GPIO3_4_SNUBBER_ON_TIME 0xFE63
414#define ADP1055_GPIO3_4_SNUBBER_DELAY 0xFE64
415
417#define ADP1055_VOUT_DROOP_SETTING 0xFE65
418
420#define ADP1055_NL_BURST_MODE 0xFE66
421
423#define ADP1055_HF_ADC_CONFIG 0xFE67
424
426#define ADP1055_VS_TRIM 0xFE80
427
429#define ADP1055_VFF_GAIN_TRIM 0xFE81
430
432#define ADP1055_CS1_GAIN_TRIM 0xFE82
433
435#define ADP1055_TSNS_EXTFWD_GAIN_TRIM 0xFE86
436#define ADP1055_TSNS_EXTFWD_OFFSET_TRIM 0xFE87
437#define ADP1055_TSNS_EXTREV_GAIN_TRIM 0xFE88
438#define ADP1055_TSNS_EXTREV_OFFSET_TRIM 0xFE89
439
441#define ADP1055_FAULT_VOUT 0xFE8C
442#define ADP1055_FAULT_IOUT 0xFE8D
443#define ADP1055_FAULT_INPUT 0xFE8E
444#define ADP1055_FAULT_TEMPERATURE 0xFE8F
445#define ADP1055_FAULT_CML 0xFE90
446#define ADP1055_FAULT_OTHER 0xFE91
447#define ADP1055_FAULT_MFR_SPECIFIC 0xFE92
448#define ADP1055_FAULT_UNKNOWN 0xFE93
449#define ADP1055_STATUS_UNKNOWN 0xFE94
450#define ADP1055_FIRST_FAULT_ID 0xFE95
451
453#define ADP1055_VFF_VALUE 0xFE96
454#define ADP1055_VS_VALUE 0xFE97
455#define ADP1055_CS1_VALUE 0xFE98
456#define ADP1055_CS2_VALUE 0xFE99
457#define ADP1055_POUT_VALUE 0xFE9A
458#define ADP1055_TSNS_EXTFWD_VALUE 0xFE9C
459#define ADP1055_TSNS_EXTREV_VALUE 0xFE9D
460#define ADP1055_MODULATION_VALUE 0xFE9F
461#define ADP1055_ISHARE_VALUE 0xFEA0
462#define ADP1055_ADD_ADC_VALUE 0xFEA3
463
474
485
495
508
521
523int adp1055_send_command(struct adp1055_desc *desc, uint16_t command);
524
526int adp1055_write(struct adp1055_desc *desc, uint16_t command, uint16_t data,
527 uint8_t byte_num);
528
530int adp1055_read(struct adp1055_desc *desc, uint16_t command, uint8_t *data,
531 uint8_t bytes_number);
532
534int adp1055_init(struct adp1055_desc **desc,
536
538int adp1055_remove(struct adp1055_desc *desc);
539
541int adp1055_read_status(struct adp1055_desc *desc,
542 enum adp1055_status_type status,
543 uint16_t *status_val);
544
546int adp1055_read_value(struct adp1055_desc *desc, enum adp1055_value_type value,
547 uint16_t *mant, uint8_t *exp);
548
550int adp1055_read_vsense(struct adp1055_desc *desc, uint16_t *vsense);
551
553int adp1055_vout_value(struct adp1055_desc *desc, uint16_t vout_command,
554 uint16_t vout_max);
555
557int adp1055_vout_offset(struct adp1055_desc *desc, int16_t vout_offset);
558
560int adp1055_vout_tr(struct adp1055_desc *desc, uint8_t exp, uint16_t mant);
561
563int adp1055_vout_droop(struct adp1055_desc *desc, uint8_t exp, uint16_t mant);
564
566int adp1055_vout_scale_loop(struct adp1055_desc *desc, uint8_t exp,
567 uint16_t mant);
568
570int adp1055_vout_scale(struct adp1055_desc *desc, uint8_t exp, uint16_t mant);
571
573int adp1055_set_vin(struct adp1055_desc *desc, int16_t mant, int8_t exp,
574 bool state_on);
575
577int adp1055_iout_cal_gain(struct adp1055_desc *desc, int16_t mant, int8_t exp);
578
580int adp1055_iout_cal_offset(struct adp1055_desc *desc, int16_t mant,
581 int8_t exp);
582
584int adp1055_normal_mode_df(struct adp1055_desc *desc, uint8_t zero,
585 uint8_t pole,
586 uint8_t lf, uint8_t hf);
587
589int adp1055_lightload_mode_df(struct adp1055_desc *desc, uint8_t zero,
590 uint8_t pole,
591 uint8_t lf, uint8_t hf);
592
594int adp1055_singleshot_mode_df(struct adp1055_desc *desc, uint8_t zero,
595 uint8_t pole,
596 uint8_t lf, uint8_t hf);
597
599int adp1055_pwm_config(struct adp1055_desc * desc, uint16_t pulse_width,
600 uint16_t pulse_start, bool mod_en, bool mod_sign, enum adp1055_channel chan);
601
603int adp1055_set_pwm(struct adp1055_desc * desc, enum adp1055_channel chan,
604 int8_t exp, uint16_t mant);
605
607int adp1055_freq_sync(struct adp1055_desc * desc, bool pll, bool reso);
608
609#endif
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int adp1055_init(struct adp1055_desc **desc, struct adp1055_init_param *init_param)
Initialize the ADP1055 device.
Definition adp1055.c:142
int adp1055_singleshot_mode_df(struct adp1055_desc *desc, uint8_t zero, uint8_t pole, uint8_t lf, uint8_t hf)
Set ADP1055 Single Shot Digital Filter.
Definition adp1055.c:575
#define ADP1055_STATUS_TEMPERATURE
Definition adp1055.h:176
#define ADP1055_READ_TEMPERATURE_2
Definition adp1055.h:186
int adp1055_read_vsense(struct adp1055_desc *desc, uint16_t *vsense)
Read Voltage Sense output raw value from the ADP1055.
Definition adp1055.c:332
int adp1055_send_command(struct adp1055_desc *desc, uint16_t command)
Send command byte/word to ADP1055.
Definition adp1055.c:44
int adp1055_vout_scale(struct adp1055_desc *desc, uint8_t exp, uint16_t mant)
Set ADP1055 VOUT_SCALE_MONITOR.
Definition adp1055.c:436
int adp1055_freq_sync(struct adp1055_desc *desc, bool pll, bool reso)
Frequency synchronization of the PWM clock with an external clock Requires syni_desc to be initialize...
Definition adp1055.c:747
#define ADP1055_READ_IIN
Definition adp1055.h:183
int adp1055_lightload_mode_df(struct adp1055_desc *desc, uint8_t zero, uint8_t pole, uint8_t lf, uint8_t hf)
Set ADP1055 Light Load Mode Digital Filter.
Definition adp1055.c:541
int adp1055_vout_scale_loop(struct adp1055_desc *desc, uint8_t exp, uint16_t mant)
Set ADP1055 vout scale loop.
Definition adp1055.c:419
adp1055_channel
Definition adp1055.h:486
@ ADP1055_SR2
Definition adp1055.h:492
@ ADP1055_OUTC
Definition adp1055.h:489
@ ADP1055_DISABLE_ALL
Definition adp1055.h:493
@ ADP1055_OUTD
Definition adp1055.h:490
@ ADP1055_SR1
Definition adp1055.h:491
@ ADP1055_OUTA
Definition adp1055.h:487
@ ADP1055_OUTB
Definition adp1055.h:488
int adp1055_set_pwm(struct adp1055_desc *desc, enum adp1055_channel chan, int8_t exp, uint16_t mant)
Set PWM channel and frequency.
Definition adp1055.c:690
#define ADP1055_STATUS_VOUT
Definition adp1055.h:173
adp1055_status_type
Definition adp1055.h:464
@ ADP1055_STATUS_OTHER_TYPE
Definition adp1055.h:470
@ ADP1055_STATUS_IOUT_TYPE
Definition adp1055.h:466
@ ADP1055_STATUS_CML_TYPE
Definition adp1055.h:469
@ ADP1055_STATUS_WORD_TYPE
Definition adp1055.h:471
@ ADP1055_STATUS_MFR_TYPE
Definition adp1055.h:472
@ ADP1055_STATUS_VOUT_TYPE
Definition adp1055.h:465
@ ADP1055_STATUS_INPUT_TYPE
Definition adp1055.h:467
@ ADP1055_STATUS_TEMP_TYPE
Definition adp1055.h:468
#define ADP1055_READ_TEMPERATURE_3
Definition adp1055.h:187
#define ADP1055_STATUS_IOUT
Definition adp1055.h:174
int adp1055_normal_mode_df(struct adp1055_desc *desc, uint8_t zero, uint8_t pole, uint8_t lf, uint8_t hf)
Set ADP1055 Normal Mode Digital Filter.
Definition adp1055.c:506
int adp1055_write(struct adp1055_desc *desc, uint16_t command, uint16_t data, uint8_t byte_num)
Write data to ADP1055
Definition adp1055.c:72
int adp1055_read(struct adp1055_desc *desc, uint16_t command, uint8_t *data, uint8_t bytes_number)
Read data from ADP1055.
Definition adp1055.c:110
int adp1055_vout_offset(struct adp1055_desc *desc, int16_t vout_offset)
Set output voltage offset.
Definition adp1055.c:375
int adp1055_pwm_config(struct adp1055_desc *desc, uint16_t pulse_width, uint16_t pulse_start, bool mod_en, bool mod_sign, enum adp1055_channel chan)
PWM modulation configuration for the ADP1055.
Definition adp1055.c:620
int adp1055_set_vin(struct adp1055_desc *desc, int16_t mant, int8_t exp, bool state_on)
Set ADP1055 VIN on/off raw value for input voltage limiting.
Definition adp1055.c:454
int adp1055_read_value(struct adp1055_desc *desc, enum adp1055_value_type value, uint16_t *mant, uint8_t *exp)
Read VIN/IIN/VOUT/TEMP2/TEMP3/DUTY_CYCLE_FREQ/POUT raw value from the ADP1055.
Definition adp1055.c:308
int adp1055_vout_tr(struct adp1055_desc *desc, uint8_t exp, uint16_t mant)
Set ADP1055 VOUT transition rate.
Definition adp1055.c:387
int adp1055_vout_value(struct adp1055_desc *desc, uint16_t vout_command, uint16_t vout_max)
Set VOUT_COMMAND and VOUT_MAX values.
Definition adp1055.c:353
#define ADP1055_STATUS_OTHER
Definition adp1055.h:178
#define ADP1055_STATUS_MFR_SPECIFIC
Definition adp1055.h:179
int adp1055_iout_cal_gain(struct adp1055_desc *desc, int16_t mant, int8_t exp)
Set ADP1055 IOUT calibration gain.
Definition adp1055.c:472
int adp1055_remove(struct adp1055_desc *desc)
Free the resources allocated by the adp1055_init()
Definition adp1055.c:234
#define ADP1055_STATUS_WORD
Definition adp1055.h:172
#define ADP1055_READ_POUT
Definition adp1055.h:190
int adp1055_read_status(struct adp1055_desc *desc, enum adp1055_status_type status, uint16_t *status_val)
Send statuses.
Definition adp1055.c:266
int adp1055_iout_cal_offset(struct adp1055_desc *desc, int16_t mant, int8_t exp)
Set ADP1055 IOUT calibration offset.
Definition adp1055.c:488
#define ADP1055_STATUS_INPUT
Definition adp1055.h:175
int adp1055_vout_droop(struct adp1055_desc *desc, uint8_t exp, uint16_t mant)
Set ADP1055 Vout Droop.
Definition adp1055.c:403
#define ADP1055_READ_VIN
Definition adp1055.h:182
#define ADP1055_READ_IOUT
Definition adp1055.h:185
#define ADP1055_READ_DUTY_CYCLE
Definition adp1055.h:188
adp1055_value_type
Definition adp1055.h:475
@ ADP1055_VALUE_TEMP2
Definition adp1055.h:479
@ ADP1055_VALUE_VIN
Definition adp1055.h:476
@ ADP1055_VALUE_POUT
Definition adp1055.h:483
@ ADP1055_VALUE_DUTY_CYCLE
Definition adp1055.h:481
@ ADP1055_VALUE_IIN
Definition adp1055.h:477
@ ADP1055_VALUE_IOUT
Definition adp1055.h:478
@ ADP1055_VALUE_TEMP3
Definition adp1055.h:480
@ ADP1055_VALUE_FREQUENCY
Definition adp1055.h:482
#define ADP1055_READ_FREQUENCY
Definition adp1055.h:189
#define ADP1055_STATUS_CML
Definition adp1055.h:177
Header file of GPIO Interface.
Header file of I2C Interface.
Header file of PWM Interface.
Header file of Units.
Header file of utility functions.
Device descriptor for ADP1055.
Definition adp1055.h:512
struct no_os_gpio_desc * flgi_desc
Definition adp1055.h:516
struct no_os_pwm_desc * syni_desc
Definition adp1055.h:515
struct no_os_gpio_desc * ctrl_desc
Definition adp1055.h:517
struct no_os_gpio_desc * pg_alt_desc
Definition adp1055.h:514
uint16_t freq_mant
Definition adp1055.h:518
uint8_t freq_exp
Definition adp1055.h:519
struct no_os_i2c_desc * i2c_desc
Definition adp1055.h:513
Initialization parameter for the ADP1055 device.
Definition adp1055.h:499
struct no_os_i2c_init_param * i2c_param
Definition adp1055.h:500
uint8_t on_off_config
Definition adp1055.h:505
struct no_os_gpio_init_param * pg_alt_param
Definition adp1055.h:501
struct no_os_gpio_init_param * flgi_param
Definition adp1055.h:503
struct no_os_pwm_init_param * syni_param
Definition adp1055.h:502
struct no_os_gpio_init_param * ctrl_param
Definition adp1055.h:504
bool ext_syni
Definition adp1055.h:506
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding I2C address descriptor.
Definition no_os_i2c.h:89
Structure holding the parameters for I2C initialization.
Definition no_os_i2c.h:52
Structure representing an PWM generator device.
Definition no_os_pwm.h:83
Structure containing the init parameters needed by the PWM generator.
Definition no_os_pwm.h:56