no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adp1050.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __ADP_1050_H__
34#define __ADP_1050_H__
35
36#include <stdint.h>
37#include <stdbool.h>
38#include <stdio.h>
39#include "no_os_gpio.h"
40#include "no_os_i2c.h"
41#include "no_os_pwm.h"
42#include "no_os_util.h"
43#include "no_os_units.h"
44
45#define ADP1050_EXTENDED_COMMAND 0xFF
46#define ADP1050_WRITE_BYTE_MAX_VAL 0xFF
47
48#define ADP1050_LSB_MASK NO_OS_GENMASK(7, 0)
49#define ADP1050_MSB_MASK NO_OS_GENMASK(15, 8)
50
51#define ADP1050_ON_OFF_DEFAULT_CFG 0x00
52#define ADP1050_ON_OFF_CTRL_HIGH_CFG 0x1E
53#define ADP1050_ON_OFF_CTRL_LOW_CFG 0x1C
54
55#define ADP1050_CTRL_PIN_ENABLE NO_OS_BIT(4)
56
57#define ADP1050_SOFTWARE_RESET_ON 0x01
58#define ADP1050_SOFTWARE_RESET_OFF 0x00
59
60#define ADP1050_SW_RES_DELAY_0MS 0x00
61#define ADP1050_SW_RES_DELAY_500MS 0x01
62#define ADP1050_SW_RES_DELAY_1S 0x02
63#define ADP1050_SW_RES_DELAY_2S 0x03
64
65#define ADP1050_SW_RES_NO_DELAY 0x00
66#define ADP1050_SW_RES_TOFF_DELAY 0x04
67
68#define ADP1050_TOFF_DELAY_0MS 0x0000
69#define ADP1050_TOFF_DELAY_50MS 0x0032
70#define ADP1050_TOFF_DELAY_250MS 0x00FA
71#define ADP1050_TOFF_DELAY_1000MS 0x03E8
72
73#define ADP1050_OPERATION_ON 0x80
74#define ADP1050_OPERATION_OFF 0x00
75#define ADP1050_OPERATION_SOFT_OFF 0x40
76
77#define ADP1050_MARGIN_OFF 0x00
78#define ADP1050_MARGIN_LOW 0x10
79#define ADP1050_MARGIN_HIGH 0x20
80
81#define ADP1050_MANT_MAX 0x7FF
82#define ADP1050_EXP_MAX 0x1F
83#define ADP1050_EXP_MASK NO_OS_GENMASK(15, 11)
84#define ADP1050_MANT_MASK NO_OS_GENMASK(10, 0)
85
86#define ADP1051_VDROOP_MAXVAL 0xFF
87
88#define ADP1050_VOUT_EXP_MASK NO_OS_GENMASK(4, 0)
89#define ADP1050_VOUT_GO_COMMAND 0x06
90#define ADP1050_VOUT_OFF 0x00
91
92#define ADP1050_OUTA_FALLING_EDGE_NEGATIVE_MOD 0x03
93#define ADP1050_OUTB_FALLING_EDGE_NEGATIVE_MOD 0x30
94
95#define ADP1050X_GEN_PWM_OUTPUT_DISABLE_MASK(x) ~NO_OS_BIT(x)
96#define ADP1050_PWM_OUTPUT_DISABLE_MASK 0x33
97#define ADP1051_PWM_OUTPUT_DISABLE_MASK 0x3F
98
99#define ADP1050_ALL_PWM_OFF 0x3F
100#define ADP1050_EDGE_MAX_VAL 0x0FFF
101#define ADP1050_PULSE_MAX_VAL 0xFFFF
102#define ADP1050_EDGE_MSB_MASK NO_OS_GENMASK(7, 0)
103#define ADP1050_RISING_EDGE_LSB_MASK NO_OS_GENMASK(7, 4)
104#define ADP1050_FALLING_EDGE_LSB_MASK NO_OS_GENMASK(3, 0)
105
106#define ADP1050_CS1_CLIMIT_COMP_IGNORE 0x80
107#define ADP1050_CS1_LEADING_EDGE_MASK NO_OS_GENMASK(6, 4)
108#define ADP1050_CS1_DEBOUNCE_MASK NO_OS_GENMASK(1, 0)
109
110#define ADP1050_OUTA_OL_ENABLE NO_OS_BIT(0)
111#define ADP1050_OUTB_OL_ENABLE NO_OS_BIT(1)
112#define ADP1051_OUTC_OL_ENABLE NO_OS_BIT(2)
113#define ADP1051_OUTD_OL_ENABLE NO_OS_BIT(3)
114#define ADP1050_SR1_OL_ENABLE NO_OS_BIT(4)
115#define ADP1050_SR2_OL_ENABLE NO_OS_BIT(5)
116
117#define ADP1050_OUTB_OUTD_SR2_RISING_MOD_MASK NO_OS_GENMASK(7, 6)
118#define ADP1051_OUTD_SR2_RISING_MOD_MASK NO_OS_GENMASK(7, 6)
119
120#define ADP1050_OUTB_OUTD_SR2_FALLING_MOD_MASK NO_OS_GENMASK(5, 4)
121#define ADP1051_OUTD_SR2_FALLING_MOD_MASK NO_OS_GENMASK(5 ,4)
122
123#define ADP1050_OUTA_OUTC_SR1_RISING_MOD_MASK NO_OS_GENMASK(3, 2)
124#define ADP1051_OUTC_SR1_RISING_MOD_MASK NO_OS_GENMASK(3, 2)
125
126#define ADP1050_OUTA_OUTC_SR1_FALLING_MOD_MASK NO_OS_GENMASK(1, 0)
127#define ADP1051_OUTC_SR1_FALLING_MOD_MASK NO_OS_GENMASK(1, 0)
128
129#define ADP1050_POSITIVE_MOD_SIGN 0x02
130#define ADP1050_NEGATIVE_MOD_SIGN 0x03
131
132#define ADP1050_OPEN_LOOP_ENABLE NO_OS_GENMASK(5, 0)
133#define ADP1050_OPEN_LOOP_DISABLE 0x00
134
135#define ADP1050_OL_SS_1_CYCLE 0x84
136#define ADP1050_OL_SS_4_CYCLES 0x8C
137#define APD1050_OL_SS_16_CYCLES 0x94
138#define ADP1050_OL_SS_64_CYCLES 0x9C
139
140#define ADP1050_FREQ_SYNC_ON 0x48
141#define ADP1050_FREQ_SYNC_OFF 0x49
142
143#define ADP1050_MAX_PERIOD_INTEGER(x) ((1000 / (x)) * 1000)
144#define ADP1050_MAX_PERIOD_FLOAT(x) ((1000 / (((x) - 0xF800) / 2)) * 1000)
145#define ADP1050_FLOAT_FREQ_MASK NO_OS_BIT(15)
146
147#define ADP1050_CHECK_CHIP_PASS_MASK NO_OS_BIT(7)
148#define ADP1050_CHIP_DEFAULT_PASS 0xFFFF
149#define ADP1050_CHECK_EEPROM_PASS_MASK NO_OS_BIT(3)
150#define ADP1050_EEPROM_DEFAULT_PASS 0xFF
151#define ADP1050_TRIM_DEFAULT_PASS 0xFF
152
153#define ADP1050_VOUT_GO 0x06
154
155#define ADP1050_FAULT_RESPONSE_MASK NO_OS_GENMASK(3, 2)
156#define ADP1050_AFTER_FAULT_MASK NO_OS_GENMASK(1, 0)
157
158#define ADP1050_FEEDFORWARD_OFF 0x00
159#define ADP1050_CL_FEEDFORWARD_DISABLE NO_OS_BIT(3)
160#define ADP1050_FEEDFORWARD_CL_ENABLE NO_OS_GENMASK(3, 2)
161#define ADP1050_FEEDFORWARD_OL_ENABLE (NO_OS_BIT(6) | NO_OS_BIT(3))
162
163#define ADP1050_PULSE_SKIPPING_ENABLE NO_OS_GENMASK(6, 0)
164#define ADP1050_PULSE_SKIPPING_DISABLE NO_OS_GENMASK(5, 0)
165
166#define ADP1050_CS1_TRIM_VAL 0xA00
167#define ADP1050_CS1_MAX_INIT_VAL 0xFF
168#define ADP1050_VF_TRIM_VAL 0x500
169#define ADP1050_VF_MAX_INIT_VAL 0xFF
170#define ADP1050_VS_OFFSET_MAX_INIT_VAL 0x7FFF
171#define ADP1050_VS_MAX_INIT_VAL 0xFF
172#define ADP1050_VS_INIT_MASK NO_OS_GENMASK(14, 0)
173
174#define ADP1051_LLM_DLM_DROOPING_MASK NO_OS_GENMASK(7, 6)
175#define ADP1051_LLM_DLM_AVG_SPEED_MASK NO_OS_GENMASK(5, 4)
176#define ADP1051_LLM_DLM_HYST_MASK NO_OS_GENMASK(3, 2)
177
178#define ADP1051_LLM_DEBOUNCE_MASK NO_OS_GENMASK(6, 5)
179#define ADP1051_LLM_THRESH_MASK NO_OS_GENMASK(3, 0)
180#define ADP1051_LLM_ENABLE_MASK NO_OS_BIT(4)
181
182/* PMBus Addresses */
183#define ADP1050_PMBUS_10KOHM_ADDRESS 0x70
184#define ADP1050_PMBUS_31KOHM_ADDRESS 0x71
185#define ADP1050_PMBUS_51KOHM_ADDRESS 0x72
186#define ADP1050_PMBUS_71KOHM_ADDRESS 0x73
187#define ADP1050_PMBUS_90KOHM_ADDRESS 0x74
188#define ADP1050_PMBUS_110KOHM_ADDRESS 0x75
189#define ADP1050_PMBUS_130KOHM_ADDRESS 0x76
190#define ADP1050_PMBUS_150KOHM_ADDRESS 0x77
191
192/* TON Delay Values */
193#define ADP1050_TON_DELAY_0MS 0x0000
194#define ADP1050_TON_DELAY_10MS 0x000A
195#define ADP1050_TON_DELAY_25MS 0x0019
196#define ADP1050_TON_DELAY_50MS 0x0032
197#define ADP1050_TON_DELAY_75MS 0x004B
198#define ADP1050_TON_DELAY_100MS 0x0064
199#define ADP1050_TON_DELAY_250MS 0x00FA
200#define ADP1050_TON_DELAY_1000MS 0x03E8
201
202/* TON Rise Values */
203#define ADP1050_TON_RISE_50US 0xC00D
204#define ADP1050_TON_RISE_200US 0xD00D
205#define ADP1050_TON_RISE_1750US 0xF007
206#define ADP1050_TON_RISE_10MS 0xF815
207#define ADP1050_TON_RISE_21MS 0x0015
208#define ADP1050_TON_RISE_40MS 0xF0A1
209#define ADP1050_TON_RISE_60MS 0x003C
210#define ADP1050_TON_RISE_100MS 0x0064
211
212/* PMBus COMMAND SET */
213#define ADP1050_OPERATION 0x01
214#define ADP1050_ON_OFF_CONFIG 0x02
215#define ADP1050_CLEAR_FAULTS 0x03
216#define ADP1050_WRITE_PROTECT 0x10
217#define ADP1050_RESTORE_DEFAULT_ALL 0x12
218#define ADP1050_STORE_USER_ALL 0x15
219#define ADP1050_RESTORE_USER_ALL 0x16
220#define ADP1050_CAPABILITY 0x19
221#define ADP1050_VOUT_MODE 0x20
222#define ADP1050_VOUT_COMMAND 0x21
223#define ADP1050_VOUT_TRIM 0x22
224#define ADP1050_VOUT_CAL_OFFSET 0x23
225#define ADP1050_VOUT_MAX 0x24
226#define ADP1050_VOUT_MARGIN_HIGH 0x25
227#define ADP1050_VOUT_MARGIN_LOW 0x26
228#define ADP1050_VOUT_TRANSITION_RATE 0x27
229#define ADP1051_VOUT_DROOP 0x28
230#define ADP1050_VOUT_SCALE_LOOP 0x29
231#define ADP1050_VOUT_SCALE_MONITOR 0x2A
232#define ADP1050_FREQUENCY_SWITCH 0x33
233#define ADP1050_VIN_ON 0x35
234#define ADP1050_VIN_OFF 0x36
235#define ADP1051_IOUT_CAL_GAIN 0x38
236#define ADP1050_VOUT_OV_FAULT_LIMIT 0x40
237#define ADP1050_VOUT_OV_FAULT_RESPONSE 0x41
238#define ADP1050_VOUT_UV_FAULT_LIMIT 0x44
239#define ADP1050_VOUT_UV_FAULT_RESPONSE 0x45
240#define ADP1051_IOUT_OC_FAULT_LIMIT 0x46
241#define ADP1051_IOUT_OC_FAULT_RES 0x47
242#define ADP1051_IOUT_OC_LV_FAULT_LIMIT 0x48
243#define ADP1050_OT_FAULT_LIMIT 0x4F
244#define ADP1050_OT_FAULT_RESPONSE 0x50
245#define ADP1050_POWER_GOOD_ON 0x5E
246#define ADP1050_POWER_GOOD_OFF 0x5F
247#define ADP1050_TON_DELAY 0x60
248#define ADP1050_TON_RISE 0x61
249#define ADP1050_TOFF_DELAY 0x64
250#define ADP1050_STATUS_BYTE 0x78
251#define ADP1050_STATUS_WORD 0x79
252#define ADP1050_STATUS_VOUT 0x7A
253#define ADP1051_STATUS_IOUT 0x7B
254#define ADP1050_STATUS_INPUT 0x7C
255#define ADP1050_STATUS_TEMPERATURE 0x7D
256#define ADP1050_STATUS_CML 0x7E
257#define ADP1050_READ_VIN 0x88
258#define ADP1050_READ_IIN 0x89
259#define ADP1050_READ_VOUT 0x8B
260#define ADP1051_READ_IOUT 0x8C
261#define ADP1050_READ_TEMPERATURE 0x8D
262#define ADP1050_READ_DUTY_CYCLE 0x94
263#define ADP1050_READ_FREQUENCY 0x95
264#define ADP1050_READ_PMBUS_REVISION 0x98
265#define ADP1050_MFR_ID 0x99
266#define ADP1050_MFR_MODEL 0x9A
267#define ADP1050_MFR_REVISION 0x9B
268#define ADP1050_IC_DEVICE_ID 0xAD
269#define ADP1050_IC_DEVICE_REV 0xAE
270#define ADP1050_EEPROM_DATA_00 0xB0
271#define ADP1050_EEPROM_DATA_01 0xB1
272#define ADP1050_EEPROM_DATA_02 0xB2
273#define ADP1050_EEPROM_DATA_03 0xB3
274#define ADP1050_EEPROM_DATA_04 0xB4
275#define ADP1050_EEPROM_DATA_05 0xB5
276#define ADP1050_EEPROM_DATA_06 0xB6
277#define ADP1050_EEPROM_DATA_07 0xB7
278#define ADP1050_EEPROM_DATA_08 0xB8
279#define ADP1050_EEPROM_DATA_09 0xB9
280#define ADP1050_EEPROM_DATA_10 0xBA
281#define ADP1050_EEPROM_DATA_11 0xBB
282#define ADP1050_EEPROM_DATA_12 0xBC
283#define ADP1050_EEPROM_DATA_13 0xBD
284#define ADP1050_EEPROM_DATA_14 0xBE
285#define ADP1050_EEPROM_DATA_15 0xBF
286#define ADP1050_EEPROM_CRC_CHKSUM 0xD1
287#define ADP1050_EEPROM_NUM_RD_BYTES 0xD2
288#define ADP1050_EEPROM_ADDR_OFFSET 0xD3
289#define ADP1050_EEPROM_PAGE_ERASE 0xD4
290#define ADP1050_EEPROM_PASSWORD 0xD5
291#define ADP1050_TRIM_PASSWORD 0xD6
292#define ADP1050_CHIP_PASSWORD 0xD7
293#define ADP1050_VIN_SCALE_MONITOR 0xD8
294#define ADP1050_IIN_SCALE_MONITOR 0xD9
295#define ADP1050_EEPROM_INFO 0xF1
296#define ADP1050_MFR_SPECIFIC_1 0xFA
297#define ADP1050_MFR_SPECIFIC_2 0xFB
298
299/* MANUFACTURER SPECIFIC EXTENDED COMMAND LIST */
300
301/* Flag Configuration Registers */
302#define ADP1050_IIN_OC_FAST_FAULT_RESPONSE 0xFE00
303#define ADP1050_CS3_OC_FAULT_RESPONSE 0xFE01
304#define ADP1050_VIN_UV_FAULT_RESPONSE 0xFE02
305#define ADP1050_FLAGIN_RESPONSE 0xFE03
306#define ADP1050_VDD_OV_RESPONSE 0xFE05
307
308/* Soft Start Software Reset Setting Registers */
309#define ADP1050_SOFTWARE_RESET_GO 0xFE06
310#define ADP1050_SOFTWARE_RESET_SETTINGS 0xFE07
311#define ADP1050_SR_SOFT_START_SETTINGS 0xFE08
312#define ADP1050_SOFT_START_SETTING_OL 0xFE09
313
314/* Blanking and PGOOD Setting Registers */
315#define ADP1050_FLAG_BLANKING_DURING_SS 0xFE0B
316#define ADP1050_VS_BAL_BLANK_AND_SS_DISABLE 0xFE0C
317#define ADP1050_PGOOD_MASK_SETTINGS 0xFE0D
318#define ADP1050_PGOOD_FLAG_DEBOUNCE 0xFE0E
319#define ADP1050_DEBOUNCE_TIME_PGOOD 0xFE0F
320
321/* Switching Frequency and Synchronization Setting Registers */
322#define ADP1050_SYNCH_DELAY_TIME 0xFE11
323#define ADP1050_SYNCH_GENERAL_SETTINGS 0xFE12
324#define ADP1050_DUAL_END_TOPOLOGY_MODE 0xFE13
325
326/* Current Sense and Limit Setting Registers */
327#define ADP1050_CS1_GAIN_TRIM 0xFE14
328#define ADP1051_CS2_GAIN_TRIM 0xFE15
329#define ADP1051_CS2_DIG_OFFSET_TRIM 0xFE16
330#define ADP1051_CS2_ANA_TRIM 0xFE17
331#define ADP1050_CS3_OC_DEBOUNCE 0xFE19
332#define ADP1051_CS2_LIGHT_THRESH 0xFE19
333#define ADP1050_IIN_OC_FAST_FAULT_LIMIT 0xFE1A
334#define ADP1050_CS1_CBC_CURR_LIM_REF 0xFE1B
335#define ADP1051_PWM_OUT_DIS_DLM 0xFE1C
336#define ADP1050_MATCHED_CBC_CURR_LIM_SETTINGS 0xFE1D
337#define ADP1050_SR1_SR2_RESPONSE_CBC_CURR_LIM 0xFE1E
338#define ADP1051_LLM_DLM_SET 0xFE1E
339#define ADP1050_CS1_CBC_CURR_LIM_SETTINGS 0xFE1F
340
341/* Voltage Sense and Limit Setting Registers */
342#define ADP1050_VS_GAIN_TRIM 0xFE20
343#define ADP1050_PREBIAS_START_UP_ENABLE 0xFE25
344#define ADP1050_VOUT_OV_FAULT_FLAGE_DEBOUNCE 0xFE26
345#define ADP1050_VF_GAIN_TRIM 0xFE28
346#define ADP1050_VIN_ON_AND_VIN_OFF_DELAY 0xFE29
347
348/* Temperature Sense and Protection Setting Registers */
349#define ADP1050_RTD_GAIN_TRIM 0xFE2A
350#define ADP1050_RTD_OFFSET_TRIM_MSB 0xFE2B
351#define ADP1050_RTD_CURRENT_SOURCE_SETTINGS 0xFE2D
352#define ADP1050_OT_HYSTERESIS_SETTINGS 0xFE2F
353
354/* Digital Compensator and Modulation Setting Registers */
355#define ADP1050_NORMAL_MODE_COMP_LOW_FREQ 0xFE30
356#define ADP1050_NORMAL_MODE_COMP_ZERO 0xFE31
357#define ADP1050_NORMAL_MODE_COMP_POLE 0xFE32
358#define ADP1050_NORMAL_MODE_COMP_HIGH_FREQ 0xFE33
359#define ADP1050_CS1_THRESHOLD_VS_BALANCE 0xFE38
360#define ADP1050_NOMINAL_MOD_VAL_PREBIAS 0xFE39
361#define ADP1050_SR_DRIVER_DELAY 0xFE3A
362#define ADP1050_PWM_180_PHASE_SHIFT_SETTINGS 0xFE3B
363#define ADP1050_MODULATION_LIMIT 0xFE3C
364#define ADP1050_FEEDFORWARD_SS_FILTER_GAIN 0xFE3D
365#define ADP1051_LIGHT_MOD_COMP_LOW_FREQ 0xFE34
366#define ADP1051_LIGHT_MODE_COMP_ZERO 0xFE35
367#define ADP1051_LIGHT_MODE_COMP_POLE 0xFE36
368#define ADP1051_LIGHTL_MODE_COMP_HIGH_FREQ 0xFE37
369
370/* PWM Outputs Timing Registers */
371#define ADP1050_OUTA_RISING_EDGE_TIMING 0xFE3E
372#define ADP1050_OUTA_FALLING_EDGE_TIMING 0xFE3F
373#define ADP1050_OUTA_RISING_FALLING_TIMING_LSB 0xFE40
374#define ADP1050_OUTB_RISING_EDGE_TIMING 0xFE41
375#define ADP1050_OUTB_FALLING_EDGE_TIMING 0xFE42
376#define ADP1050_OUTB_RISING_FALLING_TIMING_LSB 0xFE43
377#define ADP1050_SR1_RISING_EDGE_TIMING 0xFE4A
378#define ADP1050_SR1_FALLING_EDGE_TIMING 0xFE4B
379#define ADP1050_SR1_RISING_FALLING_TIMING_LSB 0xFE4C
380#define ADP1050_SR2_RISING_EDGE_TIMING 0xFE4D
381#define ADP1050_SR2_FALLING_EDGE_TIMING 0xFE4E
382#define ADP1050_SR2_RISING_FALLING_TIMING_LSB 0xFE4F
383#define ADP1050_OUTA_OUTB_MODULATION_SETTINGS 0xFE50
384#define ADP1050_SR1_SR2_MODULATION_SETTINGS 0xFE52
385#define ADP1050_PWM_OUTPUT_DISABLE 0xFE53
386#define ADP1051_OUTC_RISING_EDGE_TIMING 0xFE44
387#define ADP1051_OUTC_FALLING_EDGE_TIMING 0xFE45
388#define ADP1051_OUTC_RISING_FALLING_TIMING_LSB 0xFE46
389#define ADP1051_OUTD_RISING_EDGE_TIMING 0xFE47
390#define ADP1051_OUTD_FALLING_EDGE_TIMING 0xFE48
391#define ADP1051_OUTD_RISING_FALLING_TIMING_LSB 0xFE49
392#define ADP1051_OUTC_OUTD_MODULATION_SETTINGS 0xFE51
393
394/* Volt-Second Balance Control Registers */
395#define ADP1050_VS_BAL_CTRL_GENERAL_SETTINGS 0xFE54
396#define ADP1050_VS_BAL_CTRL_OUTA_OUTB 0xFE55
397#define ADP1050_VS_BAL_CTRL_SR1_SR2 0xFE57
398#define ADP1051_VS_BAL_CTRL_OUTC_OUTD 0xFE56
399
400/* Duty Cycle Reading Setting Registers */
401#define ADP1050_DUTY_CYCLE_READING_SETTINGS 0xFE58
402#define ADP1050_INPUT_VOLTAGE_COMP_MULT 0xFE59
403
404/* Adaptive Dead Time Compensation Registers */
405#define ADP1051_ADAPTIVE_DTIME_TRESH 0xFE5A
406#define ADP1051_OUTA_DTIME 0xFE5B
407#define ADP1051_OUTB_DTIME 0xFE5C
408#define ADP1051_OUTC_DTIME 0xFE5D
409#define ADP1051_OUTD_DTIME 0xFE5E
410#define ADP1051_SR1_DTIME 0xFE5F
411#define ADP1051_SR2_DTIME 0xFE60
412
413/* Other Setting Registers */
414#define ADP1050_GO_COMMANDS 0xFE61
415#define ADP1050_CUSTOMIZED_REGISTERS 0xFE62
416#define ADP1050_MOD_REF_MSB_OL_INV_FF 0xFE63
417#define ADP1050_MOD_REF_LSB_OL_INV_FF 0xFE64
418#define ADP1050_CURRENT_VALUE_UPDATE_RATE 0xFE65
419#define ADP1050_OL_OPERATION_SETTINGS 0xFE67
420#define ADP1050_PULSE_SKIPPING_MODE_THR 0xFE69
421#define ADP1050_CS3_OC_FAULT_LIMIT 0xFE6A
422#define ADP1050_MOD_THR_OVP_SELECTION 0xFE6B
423#define ADP1050_MOD_FLAG_OVP_SELECTION 0xFE6C
424#define ADP1050_OUTA_OUTB_ADJ_REF_SYNCH 0xFE6D
425#define ADP1050_SR1_SR2_ADJ_REF_SYNCH 0xFE6F
426#define ADP1051_ADAPTIVE_DTIME_COMP_CONFIG 0xFE66
427#define ADP1051_OFFSET_SR1_SR2 0xFE68
428#define ADP1051_OUTC_OUTD_ADJ_REF_SYNC 0xFE6E
429
430/* Manufacturer Specific Fault Flag Registers */
431#define ADP1050_FLAG_REGISTER1 0xFEA0
432#define ADP1050_FLAG_REGISTER2 0xFEA1
433#define ADP1050_FLAG_REGISTER3 0xFEA2
434#define ADP1050_LATCHED_FLAG_REGISTER1 0xFEA3
435#define ADP1050_LATCHED_FLAG_REGISTER2 0xFEA4
436#define ADP1050_LATCHED_FLAG_REGISTER3 0xFEA5
437#define ADP1050_FIRST_FLAG_ID 0xFEA6
438
439/* Manufacturer Specific Value Reading Regisers */
440#define ADP1050_CS1_VALUE 0xFEA7
441#define ADP1050_CS3_VALUE 0xFEA9
442#define ADP1050_VS_VALUE 0xFEAA
443#define ADP1050_RTD_VALUE 0xFEAB
444#define ADP1050_VF_VALUE 0xFEAC
445#define ADP1050_DUTY_CYCLE_VALUE 0xFEAD
446#define ADP1050_INPUT_POWER_VALUE 0xFEAE
447#define ADP1051_OUTPUT_POWER_VALUE 0xFEAF
448
453
463
468
474
540
541};
542
554
565
570
581
588
594
600
609
618
624
629
636
643
650
657
676
690
705
707int adp1050_send_command(struct adp1050_desc *desc, uint16_t command);
708
710int adp1050_read(struct adp1050_desc *desc, uint16_t command, uint8_t *data,
711 uint8_t bytes_number);
712
714int adp1050_write(struct adp1050_desc *desc, uint16_t command, uint16_t data,
715 uint8_t bytes_number);
716
718int adp1050_read_status(struct adp1050_desc *desc,
719 enum adp1050_status_type status,
720 uint16_t *status_val);
721
723int adp1050_read_vsense(struct adp1050_desc *desc, uint16_t *vsense);
724
726int adp1050_read_value(struct adp1050_desc *desc, uint16_t *mant, uint8_t *exp,
727 enum adp1050_value_type val_type);
728
730int adp1050_vout_value(struct adp1050_desc *desc, uint16_t vout_command,
731 uint16_t vout_max);
732
734int adp1050_vout_offset(struct adp1050_desc *desc, int16_t vout_offset);
735
737int adp1050_vout_tr(struct adp1050_desc *desc, enum adp1050_vout_tr vout_tr);
738
740int adp1050_vout_scale(struct adp1050_desc *desc, int8_t exp, uint16_t mant);
741
743int adp1050_vout_margin(struct adp1050_desc *desc, uint16_t margin_high,
744 uint16_t margin_low);
745
747int adp1050_pwm_duty_cycle(struct adp1050_desc *desc, uint16_t pulse_width,
748 uint16_t pulse_start, enum adp1050_channel chan);
749
751int adp1050_pwm_modulation(struct adp1050_desc *desc, enum adp1050_mod mod,
752 enum adp1050_channel chan, bool sign);
753
755int adp1050_set_pwm(struct adp1050_desc *desc, enum adp1050_channel chan,
756 enum adp1050_freq freq);
757
759int adp1050_set_vin(struct adp1050_desc *desc, int16_t mantissa, int8_t exp,
760 bool state_on);
761
763int adp1050_set_climit(struct adp1050_desc *desc,
764 enum adp1050_iin_oc_fast_fault fast_fault,
765 enum adp1050_climit_ref climit_ref);
766
769 enum adp1050_cs1_leading_edge leading_edge,
770 enum adp1050_cs1_debounce debounce,
771 bool ignore);
772
774int adp1050_set_open_loop(struct adp1050_desc *desc, uint8_t rising_edge,
775 uint8_t falling_edge, enum adp1050_channel chan);
776
778int adp1050_set_close_loop(struct adp1050_desc *desc);
779
781int adp1050_pulse_skipping(struct adp1050_desc *desc, uint8_t pulse_threshold,
782 bool state_on);
783
785int adp1050_set_feedforward(struct adp1050_desc *desc, bool state_on);
786
788int adp1050_freq_sync(struct adp1050_desc *desc, bool state_on);
789
792 enum adp1050_flgi_fault_response fault_response,
793 enum adp1050_flgi_after_fault after_fault);
794
796int adp1050_filter(struct adp1050_desc *desc, uint8_t zero, uint8_t pole,
797 uint8_t lf, uint8_t hf);
798
800int adp1050_trim(struct adp1050_desc *desc, enum adp1050_trim_type trim_type,
801 uint16_t vout_command, uint16_t vout_scale, uint16_t trim_val);
802
804int adp1050_unlock_pass(struct adp1050_desc *desc, uint16_t password,
805 enum adp1050_pass_type pass_type);
806
808int adp1050_lock_pass(struct adp1050_desc *desc, uint16_t password,
809 enum adp1050_pass_type pass_type);
810
812int adp1050_change_pass(struct adp1050_desc *desc, uint16_t old_pass,
813 uint16_t new_pass, enum adp1050_pass_type pass_type);
814
816int adp1050_software_reset(struct adp1050_desc *desc);
817
819int adp1050_init(struct adp1050_desc **desc,
821
823int adp1050_remove(struct adp1050_desc *desc);
824
827 enum adp1051_llm_dlm_drooping drooping,
828 enum adp1051_llm_dlm_avg_speed avg_speed,
829 enum adp1051_llm_dlm_hysteresis hysteresis);
830
833 enum adp1051_cs2_lightload_debounce llm_debounce,
834 enum adp1051_llm_dlm_thresh thresh,
835 bool light_en);
836
838int adp1051_set_iout_cal_gain(struct adp1050_desc *desc, int16_t mantissa,
839 int8_t exp);
840
842int adp1051_set_vout_droop(struct adp1050_desc *desc, uint16_t mantissa);
843
845int adp1051_set_iout_oc_fault_limit(struct adp1050_desc *desc, int16_t mantissa,
846 int8_t exp);
847
849int adp1050_lfilter(struct adp1050_desc *desc, uint8_t zero, uint8_t pole,
850 uint8_t lf, uint8_t hf);
851
852#endif
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
adp1050_vout_tr
Definition adp1050.h:543
@ ADP1050_VOUT_TR_25UV_US
Definition adp1050.h:549
@ ADP1050_VOUT_TR_100UV_US
Definition adp1050.h:551
@ ADP1050_VOUT_TR_INFINITE
Definition adp1050.h:544
@ ADP1050_VOUT_TR_3125NV_US
Definition adp1050.h:546
@ ADP1050_VOUT_TR_6250NV_US
Definition adp1050.h:547
@ ADP1050_VOUT_TR_50UV_US
Definition adp1050.h:550
@ ADP1050_VOUT_TR_12UV_US
Definition adp1050.h:548
@ ADP1050_VOUT_TR_1562NV_US
Definition adp1050.h:545
@ ADP1050_VOUT_TR_200UV_US
Definition adp1050.h:552
#define ADP1050_STATUS_WORD
Definition adp1050.h:251
adp1051_llm_dlm_avg_speed
Definition adp1050.h:637
@ ADP1051_164US_8B_AVG
Definition adp1050.h:640
@ ADP1051_82US_7B_AVG
Definition adp1050.h:639
@ ADP1051_328US_9B_AVG
Definition adp1050.h:641
@ ADP1051_41US_6B_AVG
Definition adp1050.h:638
#define ADP1050_STATUS_VOUT
Definition adp1050.h:252
int adp1050_vout_scale(struct adp1050_desc *desc, int8_t exp, uint16_t mant)
Set ADP1050 VOUT scale, regarding the resistor divider assigned to the VS pins.
Definition adp1050.c:274
adp1050_loop
Definition adp1050.h:449
@ ADP1050_OPEN_LOOP
Definition adp1050.h:451
@ ADP1050_CLOSE_LOOP
Definition adp1050.h:450
int adp1050_read(struct adp1050_desc *desc, uint16_t command, uint8_t *data, uint8_t bytes_number)
Read data from ADP1050.
Definition adp1050.c:74
adp1051_llm_dlm_drooping
Definition adp1050.h:630
@ ADP1051_328US_9B
Definition adp1050.h:633
@ ADP1051_656_10B
Definition adp1050.h:634
@ ADP1051_164US_8B
Definition adp1050.h:632
@ ADP1051_82US_7B
Definition adp1050.h:631
#define ADP1050_STATUS_INPUT
Definition adp1050.h:254
#define ADP1050_READ_VIN
Definition adp1050.h:257
int adp1051_llm_dllm_comm_setting(struct adp1050_desc *desc, enum adp1051_llm_dlm_drooping drooping, enum adp1051_llm_dlm_avg_speed avg_speed, enum adp1051_llm_dlm_hysteresis hysteresis)
Set light load and deep light load common setting.
Definition adp1050.c:633
int adp1050_vout_margin(struct adp1050_desc *desc, uint16_t margin_high, uint16_t margin_low)
Set VOUT margins value.
Definition adp1050.c:295
int adp1050_read_value(struct adp1050_desc *desc, uint16_t *mant, uint8_t *exp, enum adp1050_value_type val_type)
Read VIN/IIN/TEMP/DUTY_CYCLE/FREQ raw value from the ADP1050.
Definition adp1050.c:207
adp1050_cs1_leading_edge
Definition adp1050.h:571
@ ADP1050_LEADING_EDGE_200NS
Definition adp1050.h:576
@ ADP1050_LEADING_EDGE_120NS
Definition adp1050.h:575
@ ADP1050_LEADING_EDGE_40NS
Definition adp1050.h:573
@ ADP1050_LEADING_EDGE_400NS
Definition adp1050.h:577
@ ADP1050_LEADING_EDGE_800NS
Definition adp1050.h:579
@ ADP1050_LEADING_EDGE_0NS
Definition adp1050.h:572
@ ADP1050_LEADING_EDGE_600NS
Definition adp1050.h:578
@ ADP1050_LEADING_EDGE_80NS
Definition adp1050.h:574
#define ADP1050_READ_TEMPERATURE
Definition adp1050.h:261
int adp1050_init(struct adp1050_desc **desc, struct adp1050_init_param *init_param)
Initialize the ADP1050 device.
Definition adp1050.c:1246
int adp1050_set_close_loop(struct adp1050_desc *desc)
Set close loop operation.
Definition adp1050.c:792
adp1050_iin_oc_fast_fault
Definition adp1050.h:555
@ ADP1050_IIN_OC_FAST_FAULT_64
Definition adp1050.h:559
@ ADP1050_IIN_OC_FAST_FAULT_16
Definition adp1050.h:558
@ ADP1050_IIN_OC_FAST_FAULT_512
Definition adp1050.h:562
@ ADP1050_IIN_OC_FAST_FAULT_8
Definition adp1050.h:557
@ ADP1050_IIN_OC_FAST_FAULT_256
Definition adp1050.h:561
@ ADP1050_IIN_OC_FAST_FAULT_128
Definition adp1050.h:560
@ ADP1050_IIN_OC_FAST_FAULT_1024
Definition adp1050.h:563
@ ADP1050_IIN_OC_FAST_FAULT_2
Definition adp1050.h:556
int adp1050_write(struct adp1050_desc *desc, uint16_t command, uint16_t data, uint8_t bytes_number)
Write data to ADP1050.
Definition adp1050.c:108
int adp1050_remove(struct adp1050_desc *desc)
Free the resources allocated by the adp1050_init()
Definition adp1050.c:1334
int adp1050_lfilter(struct adp1050_desc *desc, uint8_t zero, uint8_t pole, uint8_t lf, uint8_t hf)
Adjust filter settings of the light mode compensator.
Definition adp1050.c:943
adp1050_mod
Definition adp1050.h:464
@ ADP1050_MOD_RISING
Definition adp1050.h:466
@ ADP1050_MOD_FALLING
Definition adp1050.h:465
adp1050_climit_ref
Definition adp1050.h:566
@ ADP1050_CLIMIT_REF_1200MV
Definition adp1050.h:567
@ ADP1050_CLIMIT_REF_250MV
Definition adp1050.h:568
int adp1050_vout_offset(struct adp1050_desc *desc, int16_t vout_offset)
Set output voltage offset.
Definition adp1050.c:250
int adp1050_software_reset(struct adp1050_desc *desc)
Software reset the ADP1050.
Definition adp1050.c:1225
adp1050_value_type
Definition adp1050.h:601
@ ADP1051_IOUT
Definition adp1050.h:607
@ ADP1050_VIN
Definition adp1050.h:602
@ ADP1050_FREQUENCY
Definition adp1050.h:606
@ ADP1050_TEMP
Definition adp1050.h:604
@ ADP1050_IIN
Definition adp1050.h:603
@ ADP1050_DUTY_CYCLE
Definition adp1050.h:605
adp1051_llm_dlm_thresh
Definition adp1050.h:658
@ ADP1051_375_30mv
Definition adp1050.h:663
@ ADP1051_656_52mv
Definition adp1050.h:666
@ ADP1051_103_82mv
Definition adp1050.h:670
@ ADP1051_121_97mv
Definition adp1050.h:672
@ ADP1051_843_67mv
Definition adp1050.h:668
@ ADP1051_468_37mv
Definition adp1050.h:664
@ ADP1051_281_22mv
Definition adp1050.h:662
@ ADP1051_140_112mv
Definition adp1050.h:674
@ ADP1051_562_45mv
Definition adp1050.h:665
@ ADP1051_187_15mv
Definition adp1050.h:661
@ ADP1051_0mv
Definition adp1050.h:659
@ ADP1051_131_105mv
Definition adp1050.h:673
@ ADP1051_112_90mv
Definition adp1050.h:671
@ ADP1051_750_60mv
Definition adp1050.h:667
@ ADP1051_093_7mv
Definition adp1050.h:660
@ ADP1051_937_75mv
Definition adp1050.h:669
int adp1050_set_feedforward(struct adp1050_desc *desc, bool state_on)
Enable or disable voltage input feedforward for edge modulation.
Definition adp1050.c:850
#define ADP1051_STATUS_IOUT
Definition adp1050.h:253
int adp1050_unlock_pass(struct adp1050_desc *desc, uint16_t password, enum adp1050_pass_type pass_type)
Unlock CHIP/EEPROM/TRIM password.
Definition adp1050.c:1102
#define ADP1050_STATUS_TEMPERATURE
Definition adp1050.h:255
int adp1050_pwm_duty_cycle(struct adp1050_desc *desc, uint16_t pulse_width, uint16_t pulse_start, enum adp1050_channel chan)
Set VOUT duty cycle for requested channel.
Definition adp1050.c:325
int adp1051_set_iout_cal_gain(struct adp1050_desc *desc, int16_t mantissa, int8_t exp)
Set the IOUT calibration gain for ADP1051.
Definition adp1050.c:682
int adp1050_read_vsense(struct adp1050_desc *desc, uint16_t *vsense)
Read Voltage Sense output raw value from the ADP1050.
Definition adp1050.c:185
int adp1050_set_pwm(struct adp1050_desc *desc, enum adp1050_channel chan, enum adp1050_freq freq)
Set PWM channel and frequency.
Definition adp1050.c:497
adp1050_pass_type
Definition adp1050.h:469
@ ADP1050_CHIP_PASS
Definition adp1050.h:470
@ ADP1050_TRIM_PASS
Definition adp1050.h:472
@ ADP1050_EEPROM_PASS
Definition adp1050.h:471
adp1050_freq
Definition adp1050.h:475
@ ADP1050_347KHZ
Definition adp1050.h:495
@ ADP1051_481KHZ
Definition adp1050.h:504
@ ADP1050_184KHZ
Definition adp1050.h:489
@ ADP1050_357KHZ
Definition adp1050.h:496
@ ADP1051_472KHZ
Definition adp1050.h:503
@ ADP1050_410KHZ
Definition adp1050.h:500
@ ADP1050_271_5KHZ
Definition adp1050.h:529
@ ADP1050_397KHZ
Definition adp1050.h:498
@ ADP1050_403KHZ
Definition adp1050.h:499
@ ADP1050_367_5KHZ
Definition adp1050.h:533
@ ADP1050_164_5KHZ
Definition adp1050.h:520
@ ADP1050_240_5KHZ
Definition adp1050.h:527
@ ADP1051_463KHZ
Definition adp1050.h:502
@ ADP1050_338KHZ
Definition adp1050.h:494
@ ADP1051_595KHZ
Definition adp1050.h:514
@ ADP1051_581KHZ
Definition adp1050.h:513
@ ADP1051_416_5KHZ
Definition adp1050.h:535
@ ADP1050_320_5KHZ
Definition adp1050.h:532
@ ADP1051_568KHZ
Definition adp1050.h:512
@ ADP1050_120KHZ
Definition adp1050.h:484
@ ADP1050_223KHZ
Definition adp1050.h:490
@ ADP1050_87KHZ
Definition adp1050.h:482
@ ADP1050_130KHZ
Definition adp1050.h:485
@ ADP1051_610KHZ
Definition adp1050.h:515
@ ADP1050_329KHZ
Definition adp1050.h:493
@ ADP1051_423_5KHZ
Definition adp1050.h:536
@ ADP1050_195_5KHZ
Definition adp1050.h:522
@ ADP1050_65KHZ
Definition adp1050.h:479
@ ADP1050_142KHZ
Definition adp1050.h:487
@ ADP1050_260_5KHZ
Definition adp1050.h:528
@ ADP1051_531KHZ
Definition adp1050.h:509
@ ADP1050_49KHZ
Definition adp1050.h:476
@ ADP1050_111_5KHZ
Definition adp1050.h:518
@ ADP1051_454_5KHZ
Definition adp1050.h:539
@ ADP1051_543KHZ
Definition adp1050.h:510
@ ADP1051_625KHZ
Definition adp1050.h:516
@ ADP1050_78KHZ
Definition adp1050.h:481
@ ADP1050_312_5KHZ
Definition adp1050.h:531
@ ADP1051_431KHZ
Definition adp1050.h:501
@ ADP1050_60KHZ
Definition adp1050.h:478
@ ADP1050_173_5KHZ
Definition adp1050.h:521
@ ADP1050_201_5KHZ
Definition adp1050.h:523
@ ADP1051_490KHZ
Definition adp1050.h:505
@ ADP1050_149KHZ
Definition adp1050.h:488
@ ADP1050_284KHZ
Definition adp1050.h:492
@ ADP1050_297_5KHZ
Definition adp1050.h:530
@ ADP1050_136KHZ
Definition adp1050.h:486
@ ADP1050_215_5KHZ
Definition adp1050.h:525
@ ADP1050_71KHZ
Definition adp1050.h:480
@ ADP1051_556KHZ
Definition adp1050.h:511
@ ADP1051_510KHZ
Definition adp1050.h:507
@ ADP1051_438_5KHZ
Definition adp1050.h:537
@ ADP1050_379KHZ
Definition adp1050.h:497
@ ADP1051_500KHZ
Definition adp1050.h:506
@ ADP1051_446_5KHZ
Definition adp1050.h:538
@ ADP1050_97_5KHZ
Definition adp1050.h:517
@ ADP1050_390_5KHZ
Definition adp1050.h:534
@ ADP1050_250KHZ
Definition adp1050.h:491
@ ADP1051_520KHZ
Definition adp1050.h:508
@ ADP1050_104KHZ
Definition adp1050.h:483
@ ADP1050_59KHZ
Definition adp1050.h:477
@ ADP1050_156_5KHZ
Definition adp1050.h:519
@ ADP1050_231_5KHZ
Definition adp1050.h:526
@ ADP1050_208_5KHZ
Definition adp1050.h:524
int adp1050_set_vin(struct adp1050_desc *desc, int16_t mantissa, int8_t exp, bool state_on)
Set ADP1050 VIN on/off raw value for input voltage limiting.
Definition adp1050.c:549
#define ADP1050_STATUS_CML
Definition adp1050.h:256
int adp1050_change_pass(struct adp1050_desc *desc, uint16_t old_pass, uint16_t new_pass, enum adp1050_pass_type pass_type)
Change the CHIP/EEPROM password. TRIM password is the same with EEPROM password.
Definition adp1050.c:1189
adp1050_flgi_after_fault
Definition adp1050.h:595
@ ADP1050_REENABLE_PWM_SS
Definition adp1050.h:596
@ ADP1050_REENABLE_PWM
Definition adp1050.h:597
@ ADP1050_REENABLE_PWM_WITH_PSON
Definition adp1050.h:598
int adp1050_set_open_loop(struct adp1050_desc *desc, uint8_t rising_edge, uint8_t falling_edge, enum adp1050_channel chan)
Set requested ADP1050 channel in Open Loop operation mode.
Definition adp1050.c:723
#define ADP1051_READ_IOUT
Definition adp1050.h:260
adp1050_trim_type
Definition adp1050.h:619
@ ADP1050_VS_VOUT_TRIM
Definition adp1050.h:621
@ ADP1050_VF_VIN_TRIM
Definition adp1050.h:622
@ ADP1050_CS1_IIN_TRIM
Definition adp1050.h:620
adp1050_channel
Definition adp1050.h:454
@ ADP1050_SR1
Definition adp1050.h:459
@ ADP1050_SR2
Definition adp1050.h:460
@ ADP1051_OUTC
Definition adp1050.h:457
@ ADP1051_OUTD
Definition adp1050.h:458
@ ADP1050_OUTB
Definition adp1050.h:456
@ ADP1050_OUTA
Definition adp1050.h:455
@ ADP1050_DISABLE_ALL
Definition adp1050.h:461
#define ADP1050_READ_FREQUENCY
Definition adp1050.h:263
adp1050_flgi_fault_response
Definition adp1050.h:589
@ ADP1050_CONTINUE_NO_INTERRUPT
Definition adp1050.h:590
@ ADP1050_DISABLE_ALL_PWM
Definition adp1050.h:592
@ ADP1050_DISABLE_SR1_SR2
Definition adp1050.h:591
#define ADP1050_READ_DUTY_CYCLE
Definition adp1050.h:262
int adp1050_lock_pass(struct adp1050_desc *desc, uint16_t password, enum adp1050_pass_type pass_type)
Lock CHIP/EEPROM password. TRIM passwor dis locked of the EEPROM password is locked.
Definition adp1050.c:1166
int adp1050_pwm_modulation(struct adp1050_desc *desc, enum adp1050_mod mod, enum adp1050_channel chan, bool sign)
Set PWM modulation for requested channel.
Definition adp1050.c:441
adp1050_status_type
Definition adp1050.h:610
@ ADP1050_STATUS_CML_TYPE
Definition adp1050.h:615
@ ADP1051_STATUS_IOUT_TYPE
Definition adp1050.h:616
@ ADP1050_STATUS_WORD_TYPE
Definition adp1050.h:613
@ ADP1050_STATUS_TEMPERATURE_TYPE
Definition adp1050.h:614
@ ADP1050_STATUS_INPUT_TYPE
Definition adp1050.h:612
@ ADP1050_STATUS_VOUT_TYPE
Definition adp1050.h:611
adp1051_cs2_lightload_debounce
Definition adp1050.h:651
@ ADP1051_20MS
Definition adp1050.h:654
@ ADP1051_10MS
Definition adp1050.h:653
@ ADP1051_200MS
Definition adp1050.h:655
@ ADP1051_0MS
Definition adp1050.h:652
int adp1050_pulse_skipping(struct adp1050_desc *desc, uint8_t pulse_threshold, bool state_on)
Enable or disbale the pulse skipping mode.
Definition adp1050.c:819
int adp1050_set_flgi_response(struct adp1050_desc *desc, enum adp1050_flgi_fault_response fault_response, enum adp1050_flgi_after_fault after_fault)
Set FLAGIN response to FLGI pin signal.
Definition adp1050.c:890
int adp1050_freq_sync(struct adp1050_desc *desc, bool state_on)
Frequency synchronization of the PWM clock with an external clock Requires syni_desc to be initialize...
Definition adp1050.c:874
int adp1051_set_iout_oc_fault_limit(struct adp1050_desc *desc, int16_t mantissa, int8_t exp)
Set the IOUT OC fault limit for ADP1051.
Definition adp1050.c:702
int adp1050_vout_value(struct adp1050_desc *desc, uint16_t vout_command, uint16_t vout_max)
Set VOUT_COMMAND and VOUT_MAX values.
Definition adp1050.c:232
adp105x_id
Definition adp1050.h:625
@ ID_ADP1051
Definition adp1050.h:627
@ ID_ADP1050
Definition adp1050.h:626
int adp1050_set_cs1_settings(struct adp1050_desc *desc, enum adp1050_cs1_leading_edge leading_edge, enum adp1050_cs1_debounce debounce, bool ignore)
Set current sense settings.
Definition adp1050.c:608
#define ADP1050_READ_IIN
Definition adp1050.h:258
int adp1050_send_command(struct adp1050_desc *desc, uint16_t command)
Send command byte/word to ADP1050.
Definition adp1050.c:46
int adp1050_set_climit(struct adp1050_desc *desc, enum adp1050_iin_oc_fast_fault fast_fault, enum adp1050_climit_ref climit_ref)
Set current limit fast fault for overcurrent protection and current limit cycle-by-cycle reference.
Definition adp1050.c:585
int adp1050_filter(struct adp1050_desc *desc, uint8_t zero, uint8_t pole, uint8_t lf, uint8_t hf)
Adjust filter settings of the normal mode compensator.
Definition adp1050.c:914
adp1051_llm_dlm_hysteresis
Definition adp1050.h:644
@ ADP1051_3LSB
Definition adp1050.h:645
@ ADP1051_16LSB
Definition adp1050.h:648
@ ADP1051_8LSB
Definition adp1050.h:646
@ ADP1051_12LSB
Definition adp1050.h:647
adp1050_cs1_debounce
Definition adp1050.h:582
@ ADP1050_DEBOUNCE_80NS
Definition adp1050.h:585
@ ADP1050_DEBOUNCE_0NS
Definition adp1050.h:583
@ ADP1050_DEBOUNCE_120NS
Definition adp1050.h:586
@ ADP1050_DEBOUNCE_40NS
Definition adp1050.h:584
int adp1051_llm_dllm_setting(struct adp1050_desc *desc, enum adp1051_cs2_lightload_debounce llm_debounce, enum adp1051_llm_dlm_thresh thresh, bool light_en)
Set light load and deep light load.
Definition adp1050.c:655
int adp1051_set_vout_droop(struct adp1050_desc *desc, uint16_t mantissa)
Set ADP1051 vout droop for setting the rate of output voltage and current.
Definition adp1050.c:569
int adp1050_trim(struct adp1050_desc *desc, enum adp1050_trim_type trim_type, uint16_t vout_command, uint16_t vout_scale, uint16_t trim_val)
Trim IIN(CS1 pin)/VIN(VF pin)/VOUT(VS pin).
Definition adp1050.c:979
int adp1050_read_status(struct adp1050_desc *desc, enum adp1050_status_type status, uint16_t *status_val)
Read statuses.
Definition adp1050.c:145
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 ADP1050.
Definition adp1050.h:694
struct no_os_gpio_desc * flgi_desc
Definition adp1050.h:698
struct no_os_pwm_desc * syni_desc
Definition adp1050.h:697
struct no_os_gpio_desc * ctrl_desc
Definition adp1050.h:699
struct no_os_gpio_desc * pg_alt_desc
Definition adp1050.h:696
enum adp1050_loop loop
Definition adp1050.h:700
struct no_os_i2c_desc * i2c_desc
Definition adp1050.h:695
enum adp1050_freq freq
Definition adp1050.h:701
uint8_t device_id
Definition adp1050.h:702
Initialization parameter for the ADP1050 device.
Definition adp1050.h:680
enum adp105x_id device_id
Definition adp1050.h:688
struct no_os_gpio_init_param * flgi_param
Definition adp1050.h:684
struct no_os_gpio_init_param * ctrl_param
Definition adp1050.h:685
struct no_os_i2c_init_param * i2c_param
Definition adp1050.h:681
uint8_t on_off_config
Definition adp1050.h:686
struct no_os_gpio_init_param * pg_alt_param
Definition adp1050.h:682
struct no_os_pwm_init_param * syni_param
Definition adp1050.h:683
bool ext_syni
Definition adp1050.h:687
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