45#define ADP1050_EXTENDED_COMMAND 0xFF
46#define ADP1050_WRITE_BYTE_MAX_VAL 0xFF
48#define ADP1050_LSB_MASK NO_OS_GENMASK(7, 0)
49#define ADP1050_MSB_MASK NO_OS_GENMASK(15, 8)
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
55#define ADP1050_CTRL_PIN_ENABLE NO_OS_BIT(4)
57#define ADP1050_SOFTWARE_RESET_ON 0x01
58#define ADP1050_SOFTWARE_RESET_OFF 0x00
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
65#define ADP1050_SW_RES_NO_DELAY 0x00
66#define ADP1050_SW_RES_TOFF_DELAY 0x04
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
73#define ADP1050_OPERATION_ON 0x80
74#define ADP1050_OPERATION_OFF 0x00
75#define ADP1050_OPERATION_SOFT_OFF 0x40
77#define ADP1050_MARGIN_OFF 0x00
78#define ADP1050_MARGIN_LOW 0x10
79#define ADP1050_MARGIN_HIGH 0x20
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)
86#define ADP1051_VDROOP_MAXVAL 0xFF
88#define ADP1050_VOUT_EXP_MASK NO_OS_GENMASK(4, 0)
89#define ADP1050_VOUT_GO_COMMAND 0x06
90#define ADP1050_VOUT_OFF 0x00
92#define ADP1050_OUTA_FALLING_EDGE_NEGATIVE_MOD 0x03
93#define ADP1050_OUTB_FALLING_EDGE_NEGATIVE_MOD 0x30
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
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)
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)
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)
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)
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)
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)
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)
129#define ADP1050_POSITIVE_MOD_SIGN 0x02
130#define ADP1050_NEGATIVE_MOD_SIGN 0x03
132#define ADP1050_OPEN_LOOP_ENABLE NO_OS_GENMASK(5, 0)
133#define ADP1050_OPEN_LOOP_DISABLE 0x00
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
140#define ADP1050_FREQ_SYNC_ON 0x48
141#define ADP1050_FREQ_SYNC_OFF 0x49
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)
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
153#define ADP1050_VOUT_GO 0x06
155#define ADP1050_FAULT_RESPONSE_MASK NO_OS_GENMASK(3, 2)
156#define ADP1050_AFTER_FAULT_MASK NO_OS_GENMASK(1, 0)
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))
163#define ADP1050_PULSE_SKIPPING_ENABLE NO_OS_GENMASK(6, 0)
164#define ADP1050_PULSE_SKIPPING_DISABLE NO_OS_GENMASK(5, 0)
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)
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)
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)
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
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
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
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
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
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
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
322#define ADP1050_SYNCH_DELAY_TIME 0xFE11
323#define ADP1050_SYNCH_GENERAL_SETTINGS 0xFE12
324#define ADP1050_DUAL_END_TOPOLOGY_MODE 0xFE13
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
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
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
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
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
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
401#define ADP1050_DUTY_CYCLE_READING_SETTINGS 0xFE58
402#define ADP1050_INPUT_VOLTAGE_COMP_MULT 0xFE59
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
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
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
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
711 uint8_t bytes_number);
715 uint8_t bytes_number);
720 uint16_t *status_val);
744 uint16_t margin_low);
797 uint8_t lf, uint8_t hf);
801 uint16_t vout_command, uint16_t vout_scale, uint16_t trim_val);
850 uint8_t lf, uint8_t hf);
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 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